Індуський програміст: відмінності між версіями

Матеріал з Енциклопедія Драматика
Перейти до навігації Перейти до пошуку
Немає опису редагування
 
(Не показані 6 проміжних версій 3 користувачів)
Рядок 1: Рядок 1:
{{Restore|Індуський_програміст|}}
{{Недопис}}
 
[[Файл:Indian programmer.png|thumb|Якось так]]
Індуський програміст - програміст який пише індуський код, а індуський код в свою чергу - це кривий та великого обсягу програмний код, який якимось дивним чином працює. Від бидлокоду відрізняється тим, що написаний найбільш неочікуваним способом, бо бидлокод хоч трішки очевидний і зрозумілий.
'''Індуський програміст''' — програміст, який пише ''індуський код'' — кривий і великий за обсягом програмний код, який якимось дивним чином працює. Від [[Бидлокодер|бидлокоду]] відрізняється тим, що написаний найбільш неочікуваним способом, бо бидлокод хоч трішки очевидний і зрозумілий.
 
Здебільшого індуським кодом називають код низької якості, тобто використання простих "копіювати-вставити, if" та ігнорування оптимізації, через це простий цикл можна розтягнути хоч на 1000 рядків.


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


== Звідки назва ==
== Звідки назва ==
Колись в далекій-далекій Індії оцінювали роботу прогера за кількістю написаного коду, більше коду написав - більшу зарплату отримав. Зрозуміло, що індуси швидко зрозуміли як обдурити замовника. Існує легенда: якщо програміст раптово під час кодингу починає співати і танцювати - то він пише індуський код.
Колись у далекій-далекій Індії оцінювали роботу прогера за кількістю написаного коду: більше коду написав більшу зарплату отримав. Зрозуміло, що індуси швидко зрозуміли, як обдурити замовника. Існує легенда: якщо програміст раптово під час кодингу починає співати і танцювати, то він пише індуський код.  
 
<gallery>
 
India love.jpg|Завжди у пошуках кохання
</gallery>
== Підвиди ==
== Підвиди ==
'''Спагеті-код'''
[[Файл:Класифікація програмістів.jpg|міні|У світі розробників.]]
 
* '''Спагеті-код''' (іноді ''кенгуру-код'') погано спроектований, слабко структурований, заплутаний та складний для розуміння код, особливо якщо в ньому багато переходів у задану точку програми без перевірки виконання будь-яких умов, виключень та інших конструкцій, що погіршують структурованість. Названий так через те, що нагадує тарілку зі спагеті, тобто довгий та заплутаний.
Спагеті-код (іноді кенгуру-код) - погано спроектований, слабко структурований, заплутаний та складний для розуміння код, особливо якщо в ньому багато переходів в задану точку програми без перевірки виконання будь-яких умов, виключень та і інших конструкцій, що погіршують структурованість. Названий так, тому що схожий на тарілку зі спагеті, тобто довгий та заплутаний.
* '''Китайський код''' — спосіб програмування, який порушує принцип "не повторюй сам себе". Китайський кодер ігноруватиме цикли та будь-які процедури, але використовуватиме технологію "copy-paste" постійно. Такий підхід значно збільшить об'єм програми, але, на відміну від індуського коду, вражатиме своєю передбачуваністю й брутальністю, як і вся китайська інженерія цілком. Плюс від такого кодерства в тому, що його можливо оптимізувати і навіть прочитати, що не скажеш про індусів, але якщо китайський кодер напише процедуру, то ймовірність того, що вона буде корисною, прямує до нуля.
 
* '''Делфішколокод.''' Любов [[Школота|новачків]] до бидлокодерської [https://uk.wikipedia.org/wiki/Швидка_розробка_програмного_забезпеченняF RAD] [[Delphi]] створила явище нагромадження оброблення подій на Button1Click, Form1 і т.д. Оскільки RAD сама генерує імена методів, подій, перемін, то школяр рідко використовує перетинку між вухами, і в результаті маємо щось подібне на [http://govnokod.ru/4273 це.]
'''Китайський код'''
*'''Overengineering''' — метод ускладнення собі життя написанням простих програм складними способами. Просто для понтів та/або пафосу. Основна суть в тому, щоб використовувати якомога більше методів, конструкцій і прийомів програмування (чим і відрізняється від індуського коду). Замовник, який далекий від програмування, може побачити ледь не сам код Матриці й нічого не зрозуміє, але може принести більше грошей розробнику, тому й [[profit]]. Цікаво, що такий метод виник давно, [http://en.wikipedia.org/wiki/Rube_Goldberg_machine і не тільки в програмуванні.]
 
Спосіб програмування, який порушує принцип "не повторюй сам себе". Китайський кодер ігноруватиме цикли та будь-які процедури, але використовуватиме технологію "copy-paste" постійно. Такий підхід значно збільшить об'єм програми, але на відмінну від індуського коду буде вражати своєю передбачуваністю і брутальністю, як і вся китайська інженерія цілком. Плюси від такого кодерства, що його можливо оптимізувати і навіть прочитати, що не скажеш про індусів, але якщо китайський кодер напише процедуру, то ймовірність того, що вона буде корисною прямує до нуля.
 
'''Делфішколокод'''
 
Любов новачків до бидлокодерської RAD Delphi створила явище нагромадження оброблення подій на Button1Click, Form1 і т. д. Оскільки RAD сама генерує імена методів, подій, перемін, то школяр рідко використовує перетинку між вухами, і в результаті маємо щось подібне на це [http://govnokod.ru/4273 1].


'''Overengineering'''
== Див. також ==
* [[Бидлокодер]]


Метод ускладнення собі життя написання простих програм складними способами. Просто для понтів та/або пафосу. Основна суть в тому, щоб використовувати якомога більше методів, конструкцій і прийомів програмування (чим і відрізняється від індуського коду). Замовник, який далекий від програмування, може побачити ледь не сам код Матриці і нічого не зрозуміє, але може принести більше грошей розробнику тому і profit. Цікаво, що такий метод виник давно і не тільки в програмуванні.[http://en.wikipedia.org/wiki/Rube_Goldberg_machine 2]
== Посилання ==
* [https://web.archive.org/web/20150418234053/http://dramatica.org.ua/Індуський_програміст Архівна версія статті]


{{Айті}}


{{Айті|що=М", end="")<br />
print("у", end="")<br />
print("м", end="")<br />
print("б", end="")<br />
print("а", end="")<br />
print("й", end="")<br />
print("р", end="")<br />
print("у", end="")<br />
print("л", end="")<br />
print("и", end="")<br />
print("т", end="")<br />
print("ь}}
[[Категорія:ІТ]]
[[Категорія:ІТ]]
[[Категорія:Індія]]

Поточна версія на 16:11, 25 червня 2025

Dor3.png

Допиши кілька слів зі свого досвіду
Ми дописуємо Драматику разом і ця стаття потребує твоїх думок для повноти. Натисни "редагувати" згори сторінки чи розділу.

Якось так

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

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

Звідки назва

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

Підвиди

У світі розробників.
  • Спагеті-код (іноді кенгуру-код) — погано спроектований, слабко структурований, заплутаний та складний для розуміння код, особливо якщо в ньому багато переходів у задану точку програми без перевірки виконання будь-яких умов, виключень та інших конструкцій, що погіршують структурованість. Названий так через те, що нагадує тарілку зі спагеті, тобто довгий та заплутаний.
  • Китайський код — спосіб програмування, який порушує принцип "не повторюй сам себе". Китайський кодер ігноруватиме цикли та будь-які процедури, але використовуватиме технологію "copy-paste" постійно. Такий підхід значно збільшить об'єм програми, але, на відміну від індуського коду, вражатиме своєю передбачуваністю й брутальністю, як і вся китайська інженерія цілком. Плюс від такого кодерства в тому, що його можливо оптимізувати і навіть прочитати, що не скажеш про індусів, але якщо китайський кодер напише процедуру, то ймовірність того, що вона буде корисною, прямує до нуля.
  • Делфішколокод. Любов новачків до бидлокодерської RAD Delphi створила явище нагромадження оброблення подій на Button1Click, Form1 і т.д. Оскільки RAD сама генерує імена методів, подій, перемін, то школяр рідко використовує перетинку між вухами, і в результаті маємо щось подібне на це.
  • Overengineering — метод ускладнення собі життя написанням простих програм складними способами. Просто для понтів та/або пафосу. Основна суть в тому, щоб використовувати якомога більше методів, конструкцій і прийомів програмування (чим і відрізняється від індуського коду). Замовник, який далекий від програмування, може побачити ледь не сам код Матриці й нічого не зрозуміє, але може принести більше грошей розробнику, тому й profit. Цікаво, що такий метод виник давно, і не тільки в програмуванні.

Див. також

Посилання