Рис. 26.1.
Устало сть негативно влияет на рассуд ительно сть, которая
негативно влияет на устало сть
• В масштабе д ня вы д олжны хорошо отд охнуть по сле завершения
рабочего времени.
• В масштабе нед ели вы отд ыхаете в выход ные д ни. Отд ых
наполнит вас силами и ид еями, благод аря чему вы сможете приступать к
новой рабочей нед еле. (Моя жена утвержд ает, что самые лучшие ид еи
возникают у меня вечером в пятницу.)
• В масштабе год а вы получаете отпуск, что позволяет вам
полно стью о свежиться. Французы под ход ят к этому вопро су очень
правильно – д вух по след овательных нед ель отпуска нед о статочно. В
течение первой нед ели вы сбрасываете с себя рабочее напряжение, а в
течение второй нед ели под сознательно готовите себя к работе. Поэтому,
чтобы хорошо отд охнуть и эффективно работать в течение всего
след ующего год а, требуется три, а лучше четыре нед ели отд ыха.
Существует обратная сторона д анного шаблона. Иногд а, если перед
вами стоит сложная проблема, требуется, наоборот, под нажать,
под напрячься и потратить д ополнительное время и усилия, чтобы
решить ее. Од нако большинство программистов инфицировано д ухом
саморазрушения: «Я угроблю свое зд оровье, отрекусь от своей семьи и
д аже выпрыгну из окна, лишь бы этот код заработал». Поэтому я не буд у
д авать зд есь каких-либо советов. Если вы чувствуете, что у вас
развивается болезненное пристрастие к кофе, наверное, вам не стоит
д елать слишком частых перерывов. В крайнем случае, про сто
пройд итесь.
Начать сначала (Do over)
Что д елать, если вы зашли в тупик? Выкиньте код и начните работу
сначала.
Вы заблуд ились. Вы решили перед охнуть. Вымыли руки. Еще раз
попытались вспомнить д альнейший путь. И все равно вы заблуд ились.
Код , который выгляд ел так неплохо всего час назад , теперь выгляд ит
запутанно и непонятно, од ним словом, отвратительно. Вы не можете
пред ставить себе, как заставить работать след ующий тест, а вперед и у
вас еще 20 тестов, которые необход имо реализовать.
Под обное случало сь со мной несколько раз, пока я писал эту книгу.
Код получался слишком кривым. «Но я д олжен закончить книгу. Мои
д ети хотят есть, а сборщики налогов стучаться в мою д верь.» У меня
возникает желание выпрямить код настолько, чтобы можно было
прод олжать д вигаться вперед . Од нако на самом д еле в большинстве
случаев прод уктивнее отд охнуть немного и начать все заново. Од нажд ы
я был вынужд ен выкинуть 25 страниц рукописи потому, что она была
о снована на очевид но глупом программистском решении.
Хорошую историю на эту тему рассказал мне Тим Макиннон (Tim
Mackinnon). Од нажд ы он провод ил собесед ование с потенциальным
новым сотруд ником. Чтобы оценить уровень его мастерства, он
пред ложил ему программировать в паре в течение часа. К концу этого
часа они реализовали несколько новых тестов и провели несколько
сеансов рефакторинга. Од нако это был конец рабочего д ня, они оба
чувствовали себя усталыми, поэтому решили полно стью убрать из
системы результаты своей работы.
Если вы программируете в паре, смена партнера – это хороший
повод отказаться от плохого код а и начать решение зад ачи с начала. Вы
пытаетесь объяснить смысл запутанного код а, над которым работали д о
этого, и вд руг ваш партнер, совершенно не связанный с ошибками,
которые вы д опустили, берет у вас клавиатуру и говорит: «Я ужасно
извиняюсь за мою тупо сть, но что, если мы попробуем начать по-
д ругому?»
Do'stlaringiz bilan baham: |