Image

Imagerecoder 😈predatory

Categories:

Tight code /Вторая Программерская Клятва/

Пришло время дать Вторую Программерскую Клятву. (Первая Клятва была больше года назад…)





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



В общем-то, так и получалось, что когда кто-то из коллег осознавал это ’основное направление’, он шёл предусмотренным путём и проблем у них не возникало. Но! Оказалось, что большинство коллег просто не чувствуют — когда они идут верным путём, а когда нет. Чувство увеличения энтропии в коде им чуждо. И для них нет разницы между ’расширить функциональность’ и ’захачить сегодняшнюю фичу’.



В результате за каждую мною оставленную зацепку сейчас приходится расплачиваться. Ни один запасной механизм не остался без злоупотреблений. И за каждым таким хаком я чувствую свою вину; в том что оставил в коде возможность что-то сделать неправильно. А по Закону Мерфи — если какая-нибудь неприятность может случится, она случится. И случается до сих пор.



Итак — отныне я торжественно клянусь писать компоненты максимально строго. Никогда не оставлять никаких дырок на будущее. Чтобы у любого программера был только один единственный путь — сделать всё правильно. (А ещё лучше было бы писать так, чтобы языковые конструкции языка не позволяли легко перехачить ограничения: вроде удаления const/final).





И да будет так. Отныне и пока у меня не отнимутся руки от карпального туннельного синдрома.



coding

work

promo Imagerecoder august 1, 2018 12:09 36
Buy for 100 tokens
Не так давно Фейсбук научил меня ещё одной классификации людей, в дополнение к стратегам и тактикам, интерналистам и экстерналистам, и разным морально-политическим приверженцам. Впервые эта классификация описана ещё двадцать лет назад Картером и Сэнджером в книге The Programmer's Stone…