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

 

 

 

 

 

337Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

CASE средства

CASE%инструменты (сomputer#aided software engineering автома# тизированные средства разработки программ) применяются в те% чение всего процесса проектирования или на отдельных его этапах для автоматизации рутинных процедур и управления рабочим про% цессом. Большинство из них способно генерировать код (неодно% значного качества) по вашим диаграммам. Некоторые могут даже обновлять диаграммы после модификации кода; это известно как

двусторонняя разработка (round#trip engineering или round#trip# ping). Ряд CASE%средств поддерживает коллективную работу, пре% доставляя возможность группе программистов трудиться над од% ним крупным проектом.

Стоит упомянуть о такой разновидности CASE%средств, как инстру% менты RAD (Rapid Application Development) – среды для быстрой разработки приложений. Обычно они полезны в своих конкретных областях (как правило, при разработке простых приложений с пользовательским интерфейсом), но не столь эффективны как уни% версальные модели проектирования программного обеспечения.

Прагматически относитесь к инструментам и методологиям проектирова& ния: применяйте их тогда, когда это действительно полезно, но не стано& витесь их рабами.

Резюме

Невероятная сложность может обернуться невероятной простотой.

Уинстон Черчилль

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

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

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

338m

 

 

 

 

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

 

 

 

 

 

Глава 13. Важность проектированияClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

Стремятся привести в порядок все, к чему прикасаются

Рассматривают программиро% вание как творческий процесс и вносят в свою работу элемен% ты искусства

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

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

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

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

Закручивают и закручивают код в тугой узел, пока им это удает% ся, а потом недовольны результа% том

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

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

Не ценят внутреннюю структуру кода, над которым работают; топчут ее самым безжалостным образом

См. также

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

Описывает, как подготовить код для тестирования – облегчить проверку того, что код работает правильно.

Глава 14. Программная архитектура

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