Хабрахабр

[Перевод] Слишком чисто?

Привет, Хабр!
Предлагаю вашему вниманию перевод статьи "Too Clean?" автора Robert C. Martin (Uncle Bob).
image
Я только что посмотрел выступление Сары Мэй: Жизнеспособный код. Это было очень хорошо. Я полностью согласен с основными моментами ее выступления. С другой стороны, темой ее выступления было то, что я раньше должным образом не рассматривал.
Но прежде, чем я доберусь до этого, у меня есть придирка. В какой-то момент в своем выступлении она раскритиковала движение мастеров за то, что оно слишком сосредоточено на индивидуальном, а не командном поведении. К сожалению, это неправильная характеристика ремесленного движения, которое всегда было сфокусировано на создании профессиональных и этических команд.

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

Это не то, что я рассматривал или выражал ранее; хотя это всегда было то, что я застенчиво практиковал.

Можно ли настолько сосредоточиться на чистоте, что в системе никто практически не сможет работать? Может ли система быть слишком чистой?

Что вы видите? Вот фотография моего офиса, сделанная сегодня.

image

В этом есть явная организация. Он относительно чистый. Вы также можете видеть мою станцию имитации полета справа. Вы можете видеть мое рабочее место, с ноутбуком и двумя экранами в центре. Рядом с принтером, расположенным в крайнем левом углу, находится BUG-A-SALT, готовый справиться с вторгшейся мухой. Здесь есть корзины, кубические отверстия и вся обычная организационная атрибутика.
Но вокруг также имеется немного беспорядка. На случай, если я пролью свой кофе или захочу чихнуть. Справа, на вершине Тардис, выглядывающей через крайний правый экран, находится рулон туалетной бумаги. Видите, кучу инструментов для рисования слева? Вы сможете найти спиннер? А как насчет всех этих стикеров, фотографий и… А что в мире внутри всех этих дырок в шкафу?

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

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

Эта неразбериха позволяет решить временные проблемы. Так что, очевидно, я позволяю небольшому беспорядку проникать в мой офис. Я борюсь за чистоту офиса. Но, так же ясно, что я борюсь за то, чтобы держать этот бардак под контролем. И это непросто!

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

Код, который помещает данные в презентабельную форму, не должен находиться рядом с кодом, который выводит эти данные на экран. Например, я очень стараюсь отделять presenters от views. Иногда просто имеет смысл снова объединить код, получить все, что работает так, как вам нравится, а затем повторно разделить код. С другой стороны, когда вы пытаетесь заставить экран выглядеть и функционировать должным образом, очень сложно переключаться между двумя различными файлами. Нам не должно быть стыдно, если наш код выглядит немного обжитым. Эта техника известна под названием „Хуже, чем лучше“.
В любом случае, я думаю, что есть смысл в том, что код должен быть пригодным для жизни. С другой стороны, мы должны тщательно следить за собой и не допускать, чтобы беспорядок вышел из-под контроля.

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть