Індуський програміст

Матеріал з Енциклопедія Драматика
Перейти до: навігація, пошук
Broken page.png

Маємо те, що маємо
Це поспішно врятована з веб-архіву стаття (Індуський_програміст).
Тут може не вистачати картинок, шаблонів та інших необхідних речей. Її належить реставрувати, або переробити, якщо вона вже застаріла. Коли стаття вже відновлена і настав час видаляти цю плашку - залишайте посилання на архівну версію статті в розділі "Посилання" внизу сторінки.


Індуський програміст - програміст який пише індуський код, а індуський код в свою чергу - це кривий та великого обсягу програмний код, який якимось дивним чином працює. Від бидлокоду відрізняється тим, що написаний найбільш неочікуваним способом, бо бидлокод хоч трішки очевидний і зрозумілий.

Здебільшого індуським кодом називають код низької якості, тобто використання простих "копіювати-вставити, if" та ігнорування оптимізації, через це простий цикл можна розтягнути хоч на 1000 рядків.


Звідки назва

Колись в далекій-далекій Індії оцінювали роботу прогера за кількістю написаного коду, більше коду написав - більшу зарплату отримав. Зрозуміло, що індуси швидко зрозуміли як обдурити замовника. Існує легенда: якщо програміст раптово під час кодингу починає співати і танцювати - то він пише індуський код.


Підвиди

Спагеті-код

Спагеті-код (іноді кенгуру-код) - погано спроектований, слабко структурований, заплутаний та складний для розуміння код, особливо якщо в ньому багато переходів в задану точку програми без перевірки виконання будь-яких умов, виключень та і інших конструкцій, що погіршують структурованість. Названий так, тому що схожий на тарілку зі спагеті, тобто довгий та заплутаний.

Китайський код

Спосіб програмування, який порушує принцип "не повторюй сам себе". Китайський кодер ігноруватиме цикли та будь-які процедури, але використовуватиме технологію "copy-paste" постійно. Такий підхід значно збільшить об'єм програми, але на відмінну від індуського коду буде вражати своєю передбачуваністю і брутальністю, як і вся китайська інженерія цілком. Плюси від такого кодерства, що його можливо оптимізувати і навіть прочитати, що не скажеш про індусів, але якщо китайський кодер напише процедуру, то ймовірність того, що вона буде корисною прямує до нуля.

Делфішколокод

Любов новачків до бидлокодерської RAD Delphi створила явище нагромадження оброблення подій на Button1Click, Form1 і т. д. Оскільки RAD сама генерує імена методів, подій, перемін, то школяр рідко використовує перетинку між вухами, і в результаті маємо щось подібне на це 1.

Overengineering

Метод ускладнення собі життя написання простих програм складними способами. Просто для понтів та/або пафосу. Основна суть в тому, щоб використовувати якомога більше методів, конструкцій і прийомів програмування (чим і відрізняється від індуського коду). Замовник, який далекий від програмування, може побачити ледь не сам код Матриці і нічого не зрозуміє, але може принести більше грошей розробнику тому і profit. Цікаво, що такий метод виник давно і не тільки в програмуванні.2