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

 

 

 

50m

 

 

 

 

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

 

 

 

 

 

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

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

Наум 3:14

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

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

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

Заботятся о надежности своего кода

Стремятся учесть все сде% ланные допущения в за% щитном коде

Требуют четкого поведе% ния при вводе некоррект% ных данных

Тщательно продумывают код, который пишут

Пишут код, устойчивый к глупостям, которые со% вершают другие люди или они сами

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

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

Выдают код, интеграция которого чре% вата возникновением ошибок, и наде% ются, что кто%то другой с этим разбе% рется

Хранят в собственной памяти важные сведения об особенностях своего кода, которые легко забываются

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

См. также

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

Агрессивное программирование – и этим все сказано.

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

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