Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   По каким критериям вы определяете что над кодом работал говнокодер? (https://javascript.ru/forum/offtopic/25524-po-kakim-kriteriyam-vy-opredelyaete-chto-nad-kodom-rabotal-govnokoder.html)

devote 08.02.2012 00:13

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

Вот мои некоторые способы определения:
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. Те кому есть еще что добавить пишите. Тема будет в целях обучения как нужно НЕ делать. Отписал это все от злости, так как сижу ковыряю подобный говнокод и трачу нервы.

FINoM 08.02.2012 03:25

Терпеть не могу короткие переменные, не отражающие сути.
t = 4;
a = 'blabla';
k = e * 5;
b = t + k - 54;
с = j;

Уж лучше
dataContainerOuterWidth,
headerAdAnimateDuration ...

devote 08.02.2012 04:07

Цитата:

Сообщение от FINoM
Терпеть не могу короткие переменные, не отражающие сути.

Только в случае избыточности от них болит голова. Применение их в конструкциях типа:
for(var i = 0; i < 10; i++ ) {
}
вполне рационально, но в примере что привел FINoM, это избыточно и уродливо.

devote 08.02.2012 04:14

Цитата:

Сообщение от javascriptTZcss
ну там не только синтаксис как вы привели

А я что развел отридцал этого чтоль? Если уж говорить о правильности написания, то как правило в большинстве случаев вообще не пытаются толком задумываться о проверке существования переменных, проверки ошибок и т.п. ( мол типо PHP все за них исправит )

Цитата:

Сообщение от javascriptTZcss
но важен результат, вам же все равно как канкулятор написан, работает и ладно.

нуну... вам может и важен результат. Мне противно ковырять это потом после того как поковырял это говнокодер. Да конечно, я могу и отказаться от таких работ, сказать что это говно и все такое. Что часто и говорю, предлагаю заказчикам переписать все с нуля. Но если нужно исправить что-то незначительное, мелкие правки... То переписывать все с нуля долго и дорого. От того приходится копошиться в подобном говне.

Цитата:

Сообщение от javascriptTZcss
если говорить о серьезном п.о то там гавнокодеры не кружатся

Да ты шо!? серьезно чтоль? А ты не думал о том что после хорошего кодера там может побывать и говнокодер? который весь этот хороший код превратит в говно. Таких проектов как грязи. Которые делали профи, а спустя какое-то время туда залезает какой нить говнокодер и превращает весь отличный проект в свое уродство.

devote 08.02.2012 04:16

Цитата:

Сообщение от javascriptTZcss
уж тут я вас огорчу, тут так пишут как раз профессиональные кодеры.

ткни пальцем а?

devote 08.02.2012 04:22

Цитата:

Сообщение от javascriptTZcss
if(true)
echo$true;

Это что? покажи мне тех профи о которых говоришь. А кусок кода мне ни о чем не говорит.

devote 08.02.2012 04:23

Цитата:

Сообщение от javascriptTZcss
вы думаете у мен лругих дел нехватает как вот тут писюльки раскрашивать?

А вы думаете у меня дел нет, как вот только вам всем скайп свой раздавать? Есть вопрос, создавайте тему, вам дадут на него ответ.

devote 08.02.2012 04:25

Цитата:

Сообщение от javascriptTZcss
разработчики facebook и se так пишут

ага ты еще контакт приведи в пример... нашел что приводить в пример... о том как школьники в соц сетях зарабатывают.

devote 08.02.2012 04:27

Цитата:

Сообщение от javascriptTZcss
взаимно ненравится код - платите

Это как? тоесть мне дали проект на доработку/исправление и я по вашему должен кому-то заплатить за то что бы мне его не давали или сделали? Голову то включите, если я сам разработчик, дык и как мне по вашему зарабатывать на то что бы оплачивать то что бы кто-то за меня сделал?

devote 08.02.2012 04:30

Цитата:

Сообщение от javascriptTZcss
мораль в том что это не г-код а ваши нзнания коротких путей

:haha:

Ага, ну пи*дец буду сидеть учить как правильно писать обфусцированный код :D Вы сами то поняли что написали то?


Часовой пояс GMT +3, время: 19:50.