Что такое индусский код?

Доброго времени суток, дорогие мои!

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

Откуда взялось выражение «индусский код»?

Индусский код у профессиональных разработчиков — почти ругательство. Считайте, что почти что матом. И пошло оно из аутсорса, когда компания пытается сэкономить на рабочей силе, нанимая разработчиков, готовых работать почти что за еду. Выражение обозначает избыточный код с отвратительным code style, когда все скобочки и точки с запятой стоят как попало, игнорируя правильный синтаксис языка (у языка программирования, как и у естественного языка, тоже есть свои правила как в грамматике, синтаксисе и пунктуации).


Обычно такие компании хотят ПО дешево и быстро, поэтому качество кода — это последнее, о чем задумывается такой заказчик. Ведь его задача сделать подешевле, продать подороже, а на разнице заработать.

В Индии сейчас жуткое перенаселение, поэтому рабочая сила очень дешевая, что привлекает такие компании. Плюс индусы сутками пашут как лошади, что несомненно сказывается на качестве кода. Если бы вы видели индийских разработчиков в работе, когда они уезжают в другие страны, то они реально монстры — работоспособности можно только завидовать. Но качество кода, увы, от этого сильно страдает.

Версия №2 — индусам платят за количество строк кода, а не оптимизацию

Дело в том, что в Индии программистам платят не за оптимальный код, а за количество строк. Естественно, ушлые программисты начали писать программы растянуто, не особо заботясь об оптимизации. Программы получаются огромными, хотя сделать их можно в разы короче. С тех пор «индусским» кодом считается программа с избыточным количеством команд (часто пустых).

Чем отличается русский, китайский и индусский код?

Суть явления очень простая. Есть 3 вида кода: русский, китайский, индусский.

Русский код — это когда все аккуратно причесано, повторяющиеся фрагменты кода выносятся в общие модули.

Китайский код. Относительно хорошо все причесано, оптимизировано, но при этом повторяющиеся фрагменты кода встречаются в разных объектах. Общие модули они НЕ используют.

Индусский код это ситуация, когда код просто ужасный. Например, если индус нашел ошибку в коде, он не будет разбираться в ее причинах, а напишет примерно ситуацию так:

Если обрабатываемыйобъект = указанныйобъект Тогда

обработкауказанногообъекта();

Иначе

обработкаостальныхобъектов();

КонецЕсли;

При этом индус даже НЕ понимает, что в указанном объекте типовая обработка НЕ срабатывает по причине того, что в нем, что-то не так забито.

Как отучить себя от быдлокода?

На самом деле через этап индусского кода проходит любой начинающий разработчик, когда только учится и осваивает язык. Однако со временем и опытом code style отлаживается, программа становится более читаемой и оптимизированной. У хорошего разработчика прослеживается динамика — через полгода-год скобочки уже встают на свои места и исчезают дубли в коде.

Поэтому если вы смотрите на свой прошлогодний код и думаете, что за калека это написал — то вы выросли. Это хороший показатель профессионального роста. Хуже, когда вы смотрите и думаете: «Какой совершенный код!». Это уже всё, приплыли — пенек мхом покрылся.

Поэтому быдлокод лечится только временем, практикой и общением с другими более продвинутыми коллегами. Хотим мы того или не хотим, но наш мозг так хитро устроен, что подстраивается под окружение, поэтому важно, чтобы оно способствовало вашему росту.

Люблю вас всех и до новой встречи в следующих статьях.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Advertisment ad adsense adlogger