LINUX.ORG.RU

Ответ на: комментарий от wxw

Вполне возможно, вот часть кода

    foreach($text as $v=>$k) {
	$f='req_'.$v;
	$$f='';
	if( isset( $values[$v] ) ) {
	    // Преимущество - установленная переменная в $values
	    $$f=$values[$v];
	}elseif( isset ($module[$v]) ) {
	    // Затем - установленная переменная в $module
	    $$f=$module[$v];
	}
  }
spiritkhl
() автор топика
Ответ на: комментарий от spiritkhl

Сядьте вечером, выпейте по пивасу и обсудите преимущества и недостатки такого подхода. Только подготовься предварительно, вопросы провокационные придумай

anonymous
()
Ответ на: комментарий от spiritkhl

Если он лучше тебя разбирается, спроси почему именно так, а не по другому, почему нельзя было скажем разобрать этот ассоциативный массив по такому же условию на два других

anonymous
()

Лучше так не делать' потом отлаживать такой код - та еще развлек уха

ЗЫ ЛОР с айпадика выглядит крайне сексуально :)

boombick ★★★★★
()
Ответ на: комментарий от spiritkhl

осталось понять, на** он так делает

Динамический язык, позволяет прострелить ногу танком как делать нефиг (как и все прочие ДЯПы, вроде Python или Perl). Не Джава всё-таки.

resurtm ★★★
()
Ответ на: комментарий от spiritkhl

Спасибо за ссылку, осталось понять, на** он так делает

Для обфускации. Ещё можно вот так функции вызывать

$var();
вот так методы класса
$this->$var();
вот так свойства
$this->$var;
И вот так создавать объекты
new $var(); 

r_asian ★☆☆
()
Ответ на: комментарий от anonymous

Ну, видимо есть такие люди.

Функции method_exists(), property_exists(), class_exists(), function_exists() ну и наконец isset() как бы намекают, что такой синтаксический сахарок не случайность, а преднамеренная диверсия.

r_asian ★☆☆
()
Ответ на: комментарий от true_admin

Я ещё не видел ЯП который бы не позволял себе отстрелить голову.

А я видел ещё больше людей, уверенных, что использование «единственно правильного» языка может заменить кодеру моск.

Кстати, все эти толпы школоты, ранее тихо и уютно говнокодящие на php толпой ломанулись на python+django и ruby+rails. Да так рьяно, что за пальму первенства среди убогогоньких недоязычков и говнофреймворков скоро развернётся нешуточная драка.

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

Я правильно понял, что второй кодер специально так пишет, чтоб никто кроме него не мог разобраться в этом коде? или нет?

anonymous
()
Ответ на: комментарий от anonymous

Я думаю это такой побочный эффект.

В понедельник ему скажу что он сам будет писать свой код, ибо я 80% изучаю только его.

И проблема не только в таких переменных переменных, а в именах, которые только он знает что значат, допустим - $k,$l,$f.

Еще проблема бывает такая что внутренность foreach разлетается на 1000 строк, и поскольку он писал в MC все форматирование грохнуто, и в конце файла получается что то типа того

    }
}
}
}
}

И понять где тут скобка foreach'a бывает просто нереальна.

Когда пару дней за кодом посидишь, становится все правильно и логично, и весь гнев пропадает, но это неправильно что ты долго и упорно почитываешь код только чтобы понять как вся эта х** работает

spiritkhl
() автор топика
Ответ на: комментарий от spiritkhl

>foreach разлетается на 1000 строк

Расскажи человеку про функции. Страдает бедняга.

Deleted
()
Ответ на: комментарий от PolarFox

В питоне сабжевый прострел всё же не одним символом делается.

Сабжевый-то да, но, вот к примеру, сколько нытья было про то, что в Python нет настоящих private модификаторов доступа. Python отличный язык, но он, как и PHP/Perl, сам понимаешь, не предназначен для кодеров, которые хотят не думать совсем.

resurtm ★★★
()
Ответ на: комментарий от spiritkhl

Для этого нужно принимать Code Conventions. И делать это нужно ДО начала разработки.

Wizard_ ★★★★★
()
Ответ на: комментарий от spiritkhl

И понять где тут скобка foreach'a бывает просто нереальна.

Это называется: «Я никогда не работал в команде и не оговорил с удаленным программистом нотацию, по которой будет писаться код и документация»

Как бы лажа со стороны лидера проекта в первую очередь.

1. табуляция - зло, принимается автоматическая замена табов на 3-4 пробела (я 3 юзаю, у пайтонистов 4 - дефакто, но это как-то размашисто очень ИМХО)

2. установить четкий стиль фигурных скобок, K&R - компактнее, но рекомендую Олмана, в нем можно безболезненно комментировать условие и ничего не сломается.

3. именование переменных, кэмелкейс или «_»

4. информативность именования переменных и итераторов

ознакомься хотя бы с одним хэндбуком крупного проекта, посмотри самое начало документации коханы или симфони или еще чего-нибудь, там все это есть.

А так, проблема уровня ССЗБ.

BaBL ★★★★★
()
Ответ на: комментарий от BaBL

дело в том, что это не нотация, а очевидный говнокод, комментарии кириллицей, однобуквенные идентификаторы, циклы на тысячу строк
и кстати key=>value там наоборот

wxw ★★★★★
()
Ответ на: комментарий от wxw

дело в том, что это не нотация, а очевидный говнокод, комментарии кириллицей, однобуквенные идентификаторы, циклы на тысячу строк

Прежде чем что-то называть говнокодом, надо сначала всю картину посмотреть. А иначе это - говнокомментарий.

Все что ты перечислил и задается нотацией. Если ее нет - то на выходе полный ССЗБ и будет. Это первое, с чего надо начинать проект.

BaBL ★★★★★
()
Ответ на: комментарий от spiritkhl

Эта нотация может быть использована для метапрограммирования в php, однако в данном конкретном контексте она не к месту => говнокод.

tyler19
()
Ответ на: комментарий от spiritkhl

да, я действительно не работал в команде нормально, но все же считаю что такое делать нельзя

Можно делать все, что язык позволяет. Другое дело - насколько это уместно в данном, конкретном случае.

$$var применяются в достаточно крупных проектах и имеют свои вполне определенные шаблоны использования. К примеру, я встречал довольно элегантные решения из разряда вообще наборного имени: ${«lang_».$var};

BaBL ★★★★★
()
Ответ на: комментарий от BaBL

Я так понимаю есть определенные стандарты программирования, вернее стандартизированые стили, где команды придерживаются одного стиля, чтобы всем было удобно работать.

Если есть чего посоветовать, буду очень признателен)

spiritkhl
() автор топика

Тема решенной не отмечена, так что отвечаю (тред не читал).
Если в $var находится строка «val», то $$var - это будет $val.

moscwich
()
Ответ на: комментарий от spiritkhl

И понять где тут скобка foreach'a бывает просто нереальна.

Открываешь в эклипсе, нажимаешь Code format (или как оно там называется). Сохраняешь. Отправляешь ему и пусть е**тся.

GateKeeper ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.