Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Питер_Гудлиф_Ремесло_программиста_Практика_написания_хорошего_кода.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
9.23 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

Резюмеm

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

.c

 

 

p

 

 

 

 

g

 

 

 

 

df

 

 

n

e

 

 

 

 

-xcha

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

377Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

С помощью комплекта тестов проверьте, что вы не нарушили рабо% ту кода. Полное регрессивное тестирование – единственный способ быть спокойным за сделанные вами модификации.

Обеспечьте наличие адекватного набора тестов и регулярно запус% кайте его.

Тщательно тестируйте все сделанные вами модификации, какими простыми они бы ни были. Очень легко пропустить глупую ошибку.

Если вы исправляете ошибку, убедитесь, что вам понятна ее причи% на. Напишите контрольный пример, в котором она проявляется. Он покажет, что вы понимаете причину, и проверит, что вы действи% тельно исправили ошибку. Добавьте его в набор регрессивных тестов.

Если ошибка успешно исправлена, поищите, нет ли во всем коде аналогичных дефектов. Этот часто пропускаемый шаг может ока% заться очень важным: многие проблемы носят групповой характер, и гораздо проще расправиться с ними одним ударом, чем потихонь% ку урезать по мере проявления каждой из них.

Если исправление оказалось неудачным, скорее устраните его сле% ды. Не захламляйте код.

Настоящий мастер должен всегда избегать соблазна сделать скороспе% лую заплатку. Стремитесь к тому, чтобы выполнять модификации взвешенно и обдуманно. К сожалению, мы живем не в башне из слоно% вой кости и иногда компромиссы неизбежны; решение задачи идеаль% ным способом не всегда коммерчески оправдано.

Этим объясняется такое большое количество хрупкого, рыхлого и рис% кованного кода. Но этим объясняется и то, что программы вообще су% ществуют. Если бы не коммерческий интерес продать программный продукт, программисты только тем бы и занимались, что бесконечно переписывали свой код, добиваясь совершенства. Фирмы, в которых они работают, давно бы обанкротились.

Тем не менее, осуществляя прагматичные (но тошнотворные) модифи% кации, планируйте исправить их в будущем. Поставьте себе в график работ задачу привести все в порядок.

Резюме

Перемены всегда приятны.

Аристотель

Я бы не согласился с Аристотелем. Перемены могут оказаться сущим мучением. Изменения в коде нужно проводить с большой осторожно% стью. Тогда программа будет развиваться в лучшую сторону, а не де% градировать в неустойчивое бесформенное образование.