ГНКОД
От: okman Беларусь https://searchinform.ru/
Дата: 17.09.11 11:28
Оценка: +1 -2
Вот я часто вижу тут: "говнокод, говнокод"...
А ведь говнокод имеет право на жизнь, и причем нехилое такое право.

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

Тем не менее, библиотеки успешно держатся на плаву уже несколько лет и,
что самое важное, умеют выжимать эти последние 3-5%, когда остальные пасуют.

Лично для себя я давно открыл разделение кода на библиотечный и клиентский (или интерфейсный).
Все, что внутри библиотечного кода, клиентов интересовать не должно, это черный ящик.
То, что он доверху набит дерьмом, клиента не заботит. Важнее то, что ящик сшибает
конкурентов и делает работу на пять с плюсом, а то, как он написан — забота авторов.

Клиентский код, напротив, обязан быть предельно прозрачным и аккуратным, с разделением на
всякие там абстракции, слои, и т.д.

Готов провести линию и дальше — есть "библиотечные" языки, а есть "клиентские".
Например, C — типичный "библиотечник", а C++/.NET/Java — скорее для клиентского кода.

Отлично понимаю, что все это — открытие Америки, просто довольно часто вижу,
как тут на RSDN кто-то выкладывает код, и его (код) тут же начинают поливать грязью за
"смешивание в presentation layer", за "невнятное именование", за "использование A там,
где логичнее было бы использовать B", и так далее в том же духе.

А задумайтесь — вдруг от эффективности этой библиотеки будет зависеть жизнь людей.
Что, красивый код важнее тех плюс трех-пяти процентов, которые иногда можно получить с
помощью некрасивого решения типа goto ?

P.S. Отвечать быстро не смогу, так как занят написанием кода (красивого и быстрого).
Но троллинг и минусятничанье приветствуются.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.