Привет, Хабр! Предлагаю вашему вниманию перевод статьи " Слишком чистый? » Роберта К.
Мартина (дядя Боб).
Я только что посмотрел выступление Сара Мэй : Жизнеспособный код .
Это было очень хорошо.
Я полностью согласен с основными тезисами ее выступления.
С другой стороны, тема ее выступления была чем-то, что я раньше как следует не обдумывал.
Но прежде чем я перейду к этому, у меня есть придирка.
В какой-то момент своего выступления она раскритиковала движение мастеров за то, что оно слишком сосредоточено на индивидуальном, а не командном поведении.
К сожалению, это неправильная характеристика ремесленного движения, которое всегда было сосредоточено на создании профессиональных и этических команд. В этом случае идея о том, что программные системы должны быть «пригодными для жизни», является интересной.
По мнению Мэй, чтобы быть «пригодной для жизни», организация программной системы должна находиться где-то между ужасающе запутанным беспорядком хранения кода и антисептической чистотой, которую можно найти на страницах журналов по дизайну интерьера и брошюр по продаже жилья.
Это не то, что я рассматривал или высказывал раньше; хотя я всегда застенчиво практиковал это.
Может ли система быть слишком чистой? Можно ли настолько уделить внимание чистоте, чтобы в системе практически никто не мог работать? Вот фотография моего офиса, сделанная сегодня.
Что ты видишь?
Здесь относительно чисто.
В этом есть очевидная организация.
Вы можете видеть мое рабочее место с ноутбуком и двумя экранами в центре.
Вы также можете увидеть мою станцию моделирования полета справа.
Есть корзины, ящики и вся обычная организационная атрибутика.
Но вокруг тоже царит некоторый беспорядок.
Рядом с принтером, в крайнем левом углу, находится ОШИБКА-СОЛЬ, готовая справиться с вторгшейся мухой.
Справа, над ТАРДИС, если смотреть через крайний правый экран, лежит рулон туалетной бумаги.
На случай, если я пролью кофе или захочу чихнуть.
Сможете ли вы найти спиннер? Видите кучу инструментов для рисования слева? А как насчет всех этих наклеек, фотографий и.
Что же находится внутри всех этих дыр в шкафу? Чистый и организованный офис делает его удобным для использования.
Я знаю, где все вещи.
И я знаю, как получить к ним доступ.
Несвязанные элементы не мешают друг другу.
Нет ненужных зависимостей.
Небольшой беспорядок в офисе — это хорошо.
Беспорядок существует из-за временных проблем.
Мухи, кофе, чихание, писанина, моменты безделья, смена рабочих приоритетов и просто общие места, куда можно положить вещи, с которыми я не знаю, что делать.
Без этого беспорядка мне было бы труднее пользоваться своим рабочим пространством.
И следующее использование офиса снова вызвало бы хаос! Поэтому, очевидно, я позволяю небольшому беспорядку проникнуть в мой офис.
Эта путаница позволяет решить временные проблемы.
Но также ясно, что я борюсь за то, чтобы держать этот бардак под контролем.
Борюсь за чистоту в офисе.
И это непросто! Применимо ли это правило к коду? Это абсолютно верно! Когда я пишу код, я изо всех сил стараюсь поддерживать его в чистоте.
Но есть и небольшие места, где я нарушаю правила именно потому, что эти нарушения дают возможность решить временные проблемы.
Например, я очень стараюсь отделить докладчиков от просмотров.
Код, который приводит данные в презентабельную форму, не должен располагаться рядом с кодом, отображающим эти данные на экране.
С другой стороны, когда вы пытаетесь заставить экран выглядеть и работать правильно, очень сложно переключаться между двумя разными файлами.
Иногда имеет смысл снова объединить код, заставить все работать так, как вам нравится, а затем повторно разделить код. Этот метод известен как «Лучше — хуже».
В любом случае, я думаю, есть смысл сделать код пригодным для использования.
Нам не должно быть стыдно, если наш код выглядит немного обжитым.
С другой стороны, мы должны хорошо заботиться о себе и не позволять беспорядку выйти из-под контроля.
Теги: #ИТ-стандарты #код #Идеальный код #перевод #чистота кода
-
В Журнале Сервера Вашего Сайта Есть Золото
19 Oct, 24 -
Импульсный Источник Питания
19 Oct, 24 -
Папоротник
19 Oct, 24 -
Индия Лидирует В Области Микроплатежей
19 Oct, 24