Время отладки
По какой-то неведомой причине разработчики не считают отладку
естественной частью процесса разработки. Им кажется, что отладка
сродни физиологической потребности: ей занимаются просто потому,
что это неизбежно. Однако время отладки обходится фирме ровно в
такую же сумму, что и время написания кода, поэтому любые меры по
его сокращению будут полезны.
Сейчас я провожу за отладкой намного меньше времени, чем
десять лет назад. Я не проводил точных измерений, но, по моим
оценкам, продолжительность отладки сократилась раз в 10. Я добился
этого воистину радикального сокращения переходом на методологию
разработки через тестирование (TDD, Test Driven Development),
которая будет рассматриваться в следующей главе.
Независимо от того, используете ли вы TDD или другую
методологию аналогичной эффективности,
[15]
вы как профессионал
обязаны стремиться по возможности приблизить время отладки к
нулю. Конечно, нуль – цель асимптотическая, но от этого она не
перестает быть целью.
Врачи не любят заново делать операции пациентам, чтобы
исправить свои прошлые ошибки. Адвокаты не любят повторно
браться за «заваленные» дела. Врач или адвокат, который слишком
часто допускает ошибки, не будет считаться профессионалом.
Аналогичным образом разработчик, создающий слишком много
ошибок, действует непрофессионально.
Выбор темпа
Программирование – марафон, а не спринт. Невозможно выиграть
забег, набрав максимальную скорость на старте. Побеждает тот, кто
бережет силы и разумно выбирает темп. Марафонец должен
заботиться о своем организме как до, так и во время соревнований.
Точно так же и профессиональные программисты берегут силы и
творческий потенциал.
Умейте остановиться
Не можете уйти домой, пока не решили свою задачу? Уйти не
только можно, но и нужно! Творческое мышление и интеллектуальная
деятельность – недолговечные состояния нашего разума. Когда мы
устаем, они исчезают. Если вы будете силой заставлять свой уставший
мозг решить задачу в поздний час, скорее всего, это кончится лишь
дополнительной усталостью и снижением вероятности того, что
задачу удастся решить в душе (или в машине).
Если вы зашли в тупик, если вы устали – отвлекитесь на время.
Дайте своему творческому подсознанию отдохнуть от задачи.
Внимательно относясь к своим ресурсам, вы сделаете больше за
меньшее время и с меньшими усилиями. Сами определяйте темп
работы для себя и своей группы. Изучите свои закономерности
проявления творческих способностей и озарений и используйте их
вместо того, чтобы подчинять насильно.
Do'stlaringiz bilan baham: |