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

 

 

 

 

 

463Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

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

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

Берут на себя ответственность за свою работу и умеют принимать меры для защиты разрабатывае% мого кода

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

Не заносят в хранилище нерабо% тающий код

Внимательно применяют все ин% струменты, стремясь создавать понятный и доступный для со% провождения код

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

Ждут, когда разразится ката% строфа, и лишь потом начина% ют думать о защите кода и до% ступе к нему

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

Не обновляют документацию

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

См. также

Глава 7. Инструментарий программиста

Инструменты, способствующие эффективной разработке кода.

Глава 10. Код, который построил Джек

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

Глава 12. Комплекс незащищенности

Еще одна проблема безопасности – защищенность выполняющихся программ в отличие от защищенности процесса разработки.

Контрольные вопросы

Подробное обсуждение этих вопросов можно найти в разделе «Ответы и обсуждение» на стр. 665.

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

464m

 

 

 

 

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

 

 

 

 

 

Глава 18. Защита исходного кодаClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Вопросы для размышления

1.Как надежно передать свой исходный код другим людям?

2.Какая из двух моделей редактирования файлов в хранилище (бло% кировка загруженных файлов или их параллельная модификация) лучше?

3.Как различаются требования к системе управления версиями для двух команд разработчиков – территориально распределенной и ком% пактно размещенной?

4.Чем нужно руководствоваться при выборе системы управления ис% ходным кодом?

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

Вопросы личного характера

1.Приносит ли вашей команде пользу система контроля за исходным кодом?

2.Есть ли у вас резервная копия вашей текущей работы? Считается ли в вашей команде важным выполнять резервное копирование? Когда создаются резервные копии?

3.На каких машинах хранится ваш исходный код?

 

 

 

 

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

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

V

Часть процесса

Создание программного обеспечения высокого качества не ограничи% вается написанием хорошего кода. Очевидно, хороший код приносит пользу. Некоторую. Но этого мало. Хорошее программное обеспечение делается осмысленным образом; необходимы проектирование, пред% видение и надежный план боя. Что собой представляет план боя, мы

иузнаем в этой части. Однако прежде чем собирать войска, нужно по% думать о том, чем они будут заниматься. Неплохо указать им всем одно

ито же направление.

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

Глава 19. Спецификации

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

Глава 20. Рецензия на отстрел

Рассказ о проверке (рецензировании) кода – важной практике, га% рантирующей написание высококачественного кода.

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

466m

 

 

 

 

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

 

 

 

 

 

Часть V. Часть процессаClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Глава 21. Какой длины веревочка?

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

Безжалостное давление, оказываемое на нас промышленным произ% водством программ, заставляет работать все быстрее и напряженнее. Единственный способ выжить – научиться работать с умом. Мы долж% ны применять все эти приемы, и только тогда у нас появляется шанс на победу.