ReCoder (recoder) wrote,
ReCoder
recoder

  • Mood:

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

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

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

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

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

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

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

coding
work

Tags: coding, work
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments