Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Питер_Гудлиф_Ремесло_программиста_Практика_написания_хорошего_кода.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

 

 

 

 

 

233Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Статический анализатор

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

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

Резюме

Я точно помню ту минуту, когда понял, что с этого момента большую часть своей жизни

потрачу на поиск ошибок в собственных программах.

Морис Уилкс

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

Отладка – это искусство, которому можно научиться. Оно основано не на догадках, а на методическом поиске и разумных исправительных мерах.

Хорошие программисты…

Лишают ошибки питательной сре% ды; пишут код так, чтобы препят% ствовать их появлению

Понимают работу своего кода и пишут тесты, старательно прове% ряющие его функционирование

Ищут ошибки методически и тща% тельно, а не бросаются на поиски сломя голову

Плохие программисты…

Не занимаются отладкой; со% вершают беспорядочные дей% ствия и тонут в море плохого кода

Полжизни проводят в отлад% чике, пытаясь понять, что же делает их код

Столкнувшись со сбоем, пы% таются скрыть его – активно стремятся избежать отладки

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

234m

 

 

 

 

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

 

 

 

 

 

Глава 9. Поиск ошибокClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Хорошие программисты…

Сознают скромность своих сил и просят посторонних о помощи, ес% ли сами бессильны найти ошибку

Изменяют код с осторожностью, даже если речь идет о «простых» исправлениях

Плохие программисты…

Нереалистично оценивают ка% чество своего кода и свою спо% собность исправлять ошибки

«Исправляют» ошибки, мас% кируя их симптомы, а не доис% киваясь до истинных причин

См. также

Глава 1. Держим оборону

Как помешать проникновению ошибок в ваш код.

Глава 8. Время испытаний

Нельзя исправить ошибку, не убедившись в ее существовании. Тща% тельное тестирование – это средство профилактики, предотвращаю% щее проникновение ошибок в окончательный выпуск продукта.