Часть III . Исполнение
мной домой и не дает мне спокойно расслабиться. При каждодневной
интенсивной трудовой деятельности ты обнаруживаешь, что перестал
тащить домой рабочие проблемы. И дело не в том, что ты намеренно
не даешь себе работать сверхурочно. Твой мозг просто
не позволяет
этого делать.
Распоряжайся своим рабочим временем аккуратно. Работай меньше,
и ты начнешь больше успевать. Работа всегда приносит больше удо-
вольствия, когда ты можешь от нее отдохнуть.
Действуй!
1 . Постарайся как следует выспаться сегодня . На следующее утро позавтракай
и приступи к работе в определенное время (лучше чуть раньше, чем обыч-
но) . Интенсивно работай в течение четырех часов . Отведи час на обеденный
перерыв . Затем поработай еще четыре часа с такой интенсивностью, чтобы
в конце концов почувствовать себя совершенно изможденным . Возвращай-
ся домой, расслабься и развлекайся .
Совет 29
.
Научись проигрывать
Как программисты мы знаем, что чем скорее в процессе разработки
будут выявлены ошибки, тем более надежной выйдет программа.
Модульное тестирование помогает обнаружить странные ошибки
на ранних стадиях. Если нам удается быстро выявить в собственном
коде причудливые неполадки, мы счастливы. Хотя сами ошибки ука-
зывают на некоторые недостатки нашей работы, их своевременное
выявление является хорошим признаком, позволяющим надеяться
на корректно функционирующую программу.
Нас учили, что в начале работы можно совершать ошибки. Ты хо-
чешь узнать, когда они возникают, чтобы внести исправления или
пометить проблемный фрагмент кода. Когда ты пишешь код, то не
прилагаешь особых усилий для устранения небольших программ-
ных неполадок, неизбежно сопровождающих процедуру разработки.
123
Совет 29 . Научись проигрывать
Ошибка — это попытка кода донести до тебя информацию. Часть
процесса стабилизации. Поэтому мы специально добавляем ин-
струкции, приводящие к падению нашей программы, когда что-то
идет не так, или модульные тесты, в случае нашего промаха показы-
вающие красный флаг.
Эти небольшие неполадки кроме всего прочего дают нам понять,
проблем какого типа можно ожидать. Если ты никогда не ходил по
минному полю, откуда тебе знать, на какие куски грязи лучше
не
на-
ступать? Если программа не подает никаких сигналов, откуда тебе
знать, в каком месте притаилась опасность? При написании кода
вслепую приходится постоянно быть начеку.
Программировать безопасно крайне важно. Когда что-то идет не
так, качество программного обеспечения подвергается испытаниям.
Неизбежно возникают
ситуации
, реакцию приложения на которые
вы не запрограммировали. Аварийные завершения и синие экраны
в окончательной версии кода означают, что программист не порабо-
тал над ошибками, которые не смог предвидеть.
Те же принципы применимы к работе. Ремесленник подвергается ис-
пытаниям, когда возникают ошибки. Умение с ними работать является
ценным и сложно приобретаемым навыком. Как человек, увлекающий-
ся джазовой импровизацией, я понял, что любая фальшивая нота нахо-
дится по меньшей мере в одном шаге от верной. Импровизация никогда
не будет хорошей, если музыкант, взяв
фальшивую ноту, не знает, что ему де-
лать дальше. Когда рядом твоя группа,
а впереди публика, эта гадкая нота спо-
собна вогнать тебя в полный ступор. Фальшивые ноты бывают даже
у мастеров. Но они лихо выходят из положения, и слушатели даже на
подозревают, что все произошло спонтанно.
Мы все обречены допускать ошибки на работе. В конце концов, мы
всего лишь люди. Мы делаем ошибки в коде, заставляющие клиентов
выполнять трассировку стека. Мы загоняем себя в угол критическими
дизайнерскими ошибками. Или еще хуже — мы говорим неправду
членам нашей группы, начальству и заказчикам. Мы даем невыпол-
нимые обязательства или претендуем на отсутствующие у нас умения.
Любая фальшивая нота
находится рядом с верной .
124
Do'stlaringiz bilan baham: |