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

Матеріал з Енциклопедія Драматика
Перейти до навігації Перейти до пошуку
Немає опису редагування
 
(Не показані 8 проміжних версій 5 користувачів)
Рядок 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 сама генерує імена методів, подій, перемін, то школяр рідко використовує перетинку між вухами, і в результаті маємо щось подібне на це [1].
== Посилання ==
* [https://web.archive.org/web/20150418234053/http://dramatica.org.ua/Індуський_програміст Архівна версія статті]


'''Overengineering'''


Метод ускладнення собі життя написання простих програм складними способами. Просто для понтів та/або пафосу. Основна суть в тому, щоб використовувати якомога більше методів, конструкцій і прийомів програмування (чим і відрізняється від індуського коду). Замовник, який далекий від програмування, може побачити ледь не сам код Матриці і нічого не зрозуміє, але може принести більше грошей розробнику тому і profit. Цікаво, що такий метод виник давно і не тільки в програмуванні.[2]
{{Айті|що=М", 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. Цікаво, що такий метод виник давно, і не тільки в програмуванні.

Див. також

Посилання