Моя любимая чашка.

Знаете, меня убивают вот такие фразы: «Это моя любимая чашка, поэтому я ее никогда не использую ее и храню за стеклом. Поэтому она никогда не поцарапается и не разобьется».

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

Наверно, вы уже приподымаете бровь, думая, совсем бедняга Виктор сдал. В блоге о IT пишет про любимые чашки 🙂 Ан нет…

Это я пишу к тому, что меня убивает, когда люди оставляют куски ОЧЕНЬ важного и возможно полезного кода, которые мы используем в каком-то неопределенном будущем. Люди… очнитесь, либо код важен и полезен, потому, что он пользуется прямо сегодня, либо этот код представляет из себя ту самую чашку, на нее всегда молятся и никогда не пользуют.

Особенно это актуально, учитывая, то что есть системы контроля версий и можно достать всегда удаленный код из закрамов.

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

P.S. Кстати, я имел в виду старый код, который вроде уже и не нужен, но так как он когда-то делал что-то очень полезное, его не удаляют, в надежде, что он пригодиться.

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

11 комментариев to “Моя любимая чашка.”

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

  2. braindancer:

    Интересная разница подходов 🙂 Я поставил себе условие не удалять вообще ничего и никогда 🙂 (ну за исключением дистрибутивов софта).

  3. Victor Ronin:

    Напишу, ответ сразу daiver и braindancer.

    Вот полюса и встретились.
    Мне кажется золотая середина где-то посредине, хотя я склоняюсь именно к удалению.

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

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

    Поэтому поводу, терпеть не могу, когда у людей запущено 35 программ, и компьютер ели справляется с переключением между задачами.

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

  4. Придерживаюсь подхода «удалять ненужное», перед этим записав на DVD и подписав, что примерно там лежит.
    Также иногда люблю пробегаться по списку установленных программ и деинсталлировать то, что давно не использовал.
    Про чашку — поддерживаю, пусть может она и треснет, зато попользуешься, иначе она эквивалент хлама.
    Про написание кода «на будущее» вообще не понял смысла — код должен решать имеющуюся реальную задачу, или тут получается код для задач, которые могут (?) появиться в будущем?

    • Victor Ronin:

      Я имел в виду, скорее старый код, который не удален, потому что он может пригодиться в будущем.

    • Victor Ronin:

      Кстати напишу P.S. а то действительно непонятно.

  5. Sapiens:

    это и есть широко известный принцип YAGNI (you arn’t gonna need it)

    • Victor Ronin:

      Не слышал о нем, но приятно, что сам к нему прибрел и еще пытаюсь за уши приволочь разработчиков с которыми работаю.

    • Victor Ronin:

      Кстати — это не совсем он.

      http://en.wikipedia.org/wiki/You_Ain't_Gonna_Need_It

      >YAGNI, short for ‘You Ain’t Gonna Need It’, suggests to programmers that they should not add >functionality until it is necessary.

      Я скорее говорю о удалении старого кода, а не о недобавлении нового.