- 1
- 2
- 3
- 4
- 5
- 6
function getComponentList($state, $unit = '') {
global $smarty;
$suser = _sessionVar('user');
$_GET['state'] = $state;
$_GET['unit'] = $unit;
....
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+158
function getComponentList($state, $unit = '') {
global $smarty;
$suser = _sessionVar('user');
$_GET['state'] = $state;
$_GET['unit'] = $unit;
....
Говнокод, плохая практика, работа через жопу - да.
Но код делает то, что автор хотел - меняет суперглобальную переменную $_GET.
Если второе, то я не удивлен. Результат достойный оплаты.
на моей памяти немало крупных проектов, в которых я участвовал (парочка даже госзаказ на миллионы) - внешне все было гламурно, 90% хуякса и все такое, но внутри код кошмарнейший настолько, что иногда я даже увольнялся, лишь бы не сношаться с этим ужасом сверхурочно
Редкий случай встречи адекватного менеджера/лида и высокооплачиваемого заказа который в будущем надо поддерживать, дорабатывать и грести за это дальнейшее бабло рождают попытку найма команды которая напишет хороший и легкоподдерживаемый, расширяемый код.
Посчастливилось быть участником одного такого случая.
По твоим коментам и говнокодам создается впечатление, что ты не совсем еще зубр.
Рефакторинг и чтение говнокода - полезный и продаваемый навык, востребованный даже в самых солидных студиях.
Не говоря уж о том, что местами поняв почему то, что на первый взгляд выглядело явным говнокодом на самом деле является оптимальным решением, можно поднять общий уровень.
ладно, шучу, очевидно, что это session user
Сразу нахуй.
да, синглтоны можно в глобальных хранить. Но лучше в константах, потому что каждый раз писать global быстро заколебет
да и иерархию сложнее соблюдать
SWITCH (случаи необходимости рефакторинга){
case: если сам написал говно
нада рефакторить - в целях повышения своего уровня
break;
case: Есть необходимость менять чужой участок кода
нада рефакторить - чтобы отделаться малой кровью
break;
case: Заплатитли кэш за рефакторинг
тут понятно
break;
default:
Нах. надо че-то делать за бесплатно все равно не оценят.
break;
}
> переопределение $_GET это зло.
нет, просто плохой дизайн. Помню, этому даже учили, если надо инклудить (хотя такая потребность сама по себе уже плохой дизайн) скрипт, который полагается на $_GET, то include('govno.php?g1=g2'); не сработает
переопределение $_GET->плохой дизайн->это плохой код-> это говнокод->это зло, а значит
переопределение $_GET -> это зло)))) по-моему все логично
Меня учили стараться избегать переопределение суперглобалов.
ЗЫ: Незнаю никакого Сережу!