LINUX.ORG.RU
ФорумTalks

[ЖЖ][говнокод] Современные программисты не знают про цикл for

 ,


0

1

Да, это ужасно, но это так. Пруф с сайта одной популярной онлайн-игры:

        <tr>
                <td>1.</td>
                <td><select name = selected_type_0>".$dropdown_options_0."</select></td>
                <td><input type='text' name='selected_value_0' value='".$row['attrvalue0']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>2.</td>
                <td><select name = selected_type_1>".$dropdown_options_1."</select></td>
                <td><input type='text' name='selected_value_1' value='".$row['attrvalue1']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>3.</td>
                <td><select name = selected_type_2>".$dropdown_options_2."</select></td>
                <td><input type='text' name='selected_value_2' value='".$row['attrvalue2']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        
        <tr>
                <td>4.</td>
                <td><select name = selected_type_3>".$dropdown_options_3."</select></td>
                <td><input type='text' name='selected_value_3' value='".$row['attrvalue3']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>5.</td>
                <td><select name = selected_type_4>".$dropdown_options_4."</select></td>
                <td><input type='text' name='selected_value_4' value='".$row['attrvalue4']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>6.</td>
                <td><select name = selected_type_5>".$dropdown_options_5."</select></td>
                <td><input type='text' name='selected_value_5' value='".$row['attrvalue5']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>7.</td>
                <td><select name = selected_type_6>".$dropdown_options_6."</select></td>
                <td><input type='text' name='selected_value_6' value='".$row['attrvalue6']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>

И такого кода - около 80%. Казалось бы - деньги есть, можно и нормального веб-программиста нанять. А что же творится на сайтах, которые не могут позволить себе нормального программиста?

★☆☆☆

Последнее исправление: drull (всего исправлений: 1)

чем хуже код, тем больше рабочих мест.

чем лучше ты программируешь, тем больше безработных людей будет. будь гуманнее - программируй хуже!

AGUtilities ★★★
()

Ты мне напомнил, как на первой лабе по алгоритмическим языкам в универе для рисования псевдографического меню на паскале, я один из 30 душ рисовал границы окна циклами, сокращая код в разы, вместо набивания Alt+три цифры и многократного копирования/вставки. Защиту препод поставил после ответа на вопрос: «Зачем здесь цикл, что он делает?»

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

Потому что этот код выводится через <?php echo ...

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

>Защиту препод поставил после ответа на вопрос: «Зачем здесь цикл, что он делает?»

Обычная ситуация в школе «теорему X мы еще не проходили так что решайте через Y»

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

> Обычная ситуация в школе «теорему X мы еще не проходили так что решайте через Y»

Выучили рисование, но не прошли циклы? Странно. Очень странно.

drull ★☆☆☆
() автор топика

>можно и нормального веб-программиста нанять

Друлль, в своем стиле.

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

Действительно, зачем пользоваться циклами если их все равно никто не видит?

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

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

drull ★☆☆☆
() автор топика

По коду не ясно что это php. Во всех строках одни и те же ошибки. Или он кретин, или таки использовал цикл.

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

Да хоть бы цикл добавить:

for($i=0;$i<=6;$i++)
{
                echo "<tr>
                <td>".($i+1)."</td>
                <td>
                     <select name = selected_type_$i>".${'dropdown_options_'.$i}."</select>
                </td>
                <td>
                     <input type='text' name='selected_value_$i' value='".$row["attrvalue$i"]."' maxlength='6' class='textbox' style='width: 100px;'>
                </td>"; 
}

drull ★☆☆☆
() автор топика
Ответ на: комментарий от aedeph
      ...  
            <tr>
                <td>2.</td>
                <td><select name = selected_type_1>".$dropdown_options_1."</select></td>
                <td><input type='text' name='selected_value_1' value='".$row['attrvalue1']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
        <td>3.</td>
                <td><select name = selected_type_2>".$dropdown_options_2."</select></td>
                <td><input type='text' name='selected_value_2' value='".$row['attrvalue2']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        
        <tr>
        <td>4.</td>
                <td><select name = selected_type_3>".$dropdown_options_3."</select></td>
                <td><input type='text' name='selected_value_3' value='".$row['attrvalue3']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>5.</td>
                <td><select name = selected_type_4>".$dropdown_options_4."</select></td>
                <td><input type='text' name='selected_value_4' value='".$row['attrvalue4']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>6.</td>
                <td><select name = selected_type_5>".$dropdown_options_5."</select></td>
                <td><input type='text' name='selected_value_5' value='".$row['attrvalue5']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>
        <tr>
                <td>7.</td>
                <td><select name = selected_type_6>".$dropdown_options_6."</select></td>
                <td><input type='text' name='selected_value_6' value='".$row['attrvalue6']."' maxlength='6' class='textbox' style='width: 100px;'></td>
        </tr>";
drull ★☆☆☆
() автор топика
Ответ на: комментарий от drull

Это одинаковый говнокод. А ты его еще и усложнил :)

Deleted
()

Хотел спросить, с какой стати html стал языком программирования, но увидел долларики.

ttnl ★★★★★
()

Может программисту платят на вес, за количество строк? Он поэтому и старается. Ctrl-C - Ctrl-V.

Suigintou ★★★★★
()

А ты уверен, что этот код на PHP не генерируется каким-нибудь еще препроцессором?

proud_anon ★★★★★
()

пока ты кидаешь понты, люди гребут бабло. :)

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

> И что? Почему ты считаешь, что этот код не сгенерен циклом for?

.$dropdown_options_0.
.$row['attrvalue2'].

Доллар, знаки конкатенации строк ПХП, оператор доступа к элементу массива как бы говорят нам, что это было написано на ПХП. Цикл for у нормальных программистов генерит уже непосредственно HTML-код.

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

> Экономия ресурсов важнее понтов, которые почти никто не видит.

И в чём экономия-то? В одном операторе сранения и одном инкремента * 7? Ну да, круто. Это называется - экономия на спичках, особенно когда возникнет необходимость чего-нибудь расширить и углУбить...

gandjubas
()

При чём тут программисты?

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

Это я так, в воздух. А пост просто неинтересный, потому комментирую заголовок.

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

>зачем? на мой взгляд, генерация php - ещё больший костыль,
Больший костыль чем что?
Чем генерация C++? C? Java? JavaScript?

grim ★★☆☆
()

«drull, ты такой классный, такой внимательный, вот ты настоящий программист, не то что эти!». Ты это хотел услышать, да? Люди на этой популярной онлайн игре деньги делают, а не соревнуются в красивости код. А ты сидишь на ЛОРе.

Othniel
()

Как упомянул tailgunner, может это был злобный прогер, который пишет на C++/PHP/whatever генератор трудносопровождаемого кода в целях всегда оставаться нужным в сопровождении. (на правах бреда)

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

Он тонко намекнул, что там сидят редкостной мудачности кодеры. И деньги делают вовсе не они.

arknir
()

«for» мало где нужен. хвостовая рекурсия + fold + map - значительно удобнее.

Led ★★★☆☆
()

drull, ты дебил. Выдаваемый файлик - это результат вывода скрипта. Судя по одноформатности строгой - циклы там вовсю и используются.
А ты думал, что при обращении на веб-сервер с настроенным исполнением скриптов исходник скрипта тебе выдадут? Фигвам.

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

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

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

> И где ты там узрел PHP?

Я же написал: приведенный кусок выводится через echo.

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

> Выдаваемый файлик - это результат вывода скрипта.

Читаем выше: у разных строк отличается форматирование. Скрипт случайным образом пропускает/добавляет табуляции и пробелы?

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

> Скрипт случайным образом пропускает/добавляет табуляции и пробелы?

Кто-то написал эмулятор быдлокодера.

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

> Кто-то написал эмулятор быдлокодера.

Хотеть!

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

Моё бредовое предположение:

Это может быть сгенерённый циклом шаблон, который затем поправили руками (поставили пробелы и т.д.) и может быть загнали в таком виде в базу.

Ну а наличие $dropdown_options_3 и т.п. говорит о том, что постобработка и замена всего этого на значения перед выводом не сработала/криво написана. Т.ч. однозначно утверждать что автор не знает о for нельзя

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