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

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

18

Защита исходного кода

Контроль над исходным кодом и контроль над собой

В этой главе:

Охрана своего исходного кода

Управление версиями исходного кода и управление конфигурацией

Резервное копирование

Лицензирование

программного

обеспечения

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

Конфуций

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

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

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

448m

 

 

 

 

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

 

 

 

 

ный код, как любые другие ценности, и принять такую рабочую практи% ку, чтобы не повредить, не подвергнуть опасности или не потерять его.

Код обладает ценностью. Относитесь к нему с уважением и заботой.

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

Мы сами и наши глупые ошибки

Наши коллеги и их глупые ошибки

Проблемы, присущие процессу коллективной разработки про% граммного обеспечения

Механические повреждения (взрывающиеся компьютеры и испа% ряющиеся жесткие диски)

Воры, которые хотят воспользоваться программным обеспечением

Содержимое этой главы касается вашего здоровья, счастья и даже средств существования. Тот, кто зазевается, может поплатиться!

Наши обязанности

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

Надежную защиту

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

Доступность

Те, кому полагается, могут легко модифицировать код. Его видят только они и никто из посторонних.

Воспроизводимость

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

Сопровождаемость

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