Показать сообщение отдельно
  #1 (permalink)  
Старый 08.02.2012, 00:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

По каким критериям вы определяете что над кодом работал говнокодер?
Собственно немного флейма, с вопросом связанным с говнокодорством. Как вы определяете кто писал, профи или говнокодер?

Вот мои некоторые способы определения:
1. Использование коротких открывающмх тегов в PHP
<?
вместо
<?php
Хоть это и не особо считается определением говнокодерства, но не знание недостатков точно им не известно. Почему не рекомендуется юзать short_open_tag можно прочесть например тут

2. Далее отсутствие табуляций в блоках конструкций. ( сплошной код )

3. Использование внутри HTML конструкции вида:
<span<?if($bla=='test'){?>tratata<?}?>>
Это уродство совершенно не читаемое. А иногда видны и такие уродства:
<div><?if($blah){?>
    <div>tratata</div>
<?}?></div>
Ужастно сложно читать такое говнище. Не понимаю для кого говнокодеры так пишу, мучатся в этом говне самим же. Ну если уж очень нужно выполнить исключение более читаемо будет так:
<div>
<?php
    if ( $blah ) {
?>
    <div>tratata</div>
<?php
    }
?>
</div>

4. Смешивание большого количества одного языка с другим в одном файле. ( частый случай это смешивание PHP+HTML либо JavaScript+HTML )

5. Отсутствие пробелов в конструкицях:
$a+$b;
if($a=='b'){}
$a=trim($b);
// и т.д.

6. Отсутствие скобок блоков в конструкицях
if ($a) $b=2;
// или часто так пишут:
if ($a)
$b=2;

7. Использование Delphi подобных конструкций в PHP типа:
if ( $a == 1 and $b == 2 )
// или
if ( $a == 1 or $b == 2 )

8. Использование подобных конструкций:
$data=str_replace('[name]',$name,$data);
$data=str_replace('[email]',$email,$data);
$data=str_replace('[phone]',$phone,$data);
$data=str_replace('[patient]',$patient,$data);
$data=str_replace('[insurance]',$insurance,$data);
$data=str_replace('[date_birth]',$date_birth,$data);
$data=str_replace('[date1]',$date1,$data);
$data=str_replace('[date2]',$date2,$data);
$data=str_replace('[date3]',$date3,$data);
$data=str_replace('[time1]',$time1,$data);
$data=str_replace('[time2]',$time2,$data);
$data=str_replace('[time3]',$time3,$data);
$data=str_replace('[location]',$location,$data);

9. Использование переменных вида:
aaaa = 10;
zz = 13;
aaaaa = zzzzz;
qweqwe = 123;

Ну и еще десятки неприятных вещей которых делать не нужно.

PS. Я не пытаюсь кого-то обвинить в том что он говнокодер, но все что описано выше делать не стоит, с таким подходом вас никто не будет ценить, вы никому не будете нужны с такими способами кодирования. Устроившись в какую нить контору вам либо дадут делать работу ламерскую, либо скажут вам что вы не подходите. Помните, в конторах смотрят в первую очередь не на то что вы делаете а на то как вы делаете.

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

Последний раз редактировалось devote, 08.02.2012 в 04:03. Причина: Добавил пункт 9
Ответить с цитированием