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

 

 

 

 

Библиография

(Alexander 79)

Alexander, Christopher. The Timeless Way of Building. Oxford Univer% sity Press, 1979. 0195024028.

(Aristotle)

Aristotle (384–322 BC). Rhetoric. Book 1, Chapter 11, Section 20. 350 BC.

(Beck 99)

Beck, Kent. Extreme Programming Explained. Addison%Wesley, 1999. 0201616416.1

(Belbin 81)

Belbin, Meredith. Management Teams: Why They Succeed or Fail. But% terworth Heinemann, 1981. 0750659106.2

(Bentley 82)

Bentley, Jon Louis. Writing Efficient Programs. Prentice Hall Professio% nal, 1982. 013970244X.

(Bersoff et al. 80)

Bersoff, Edward, Vilas Henderson, and Stanley Siegel. Software Configu# raion Management: An Investment in Product Integrity. Longman Higher Education, 1980. 0138217696.

(Boehm 76)

Boehm, Barry. «Software Engineering». IEE Transactions on Compu# ters. Vol. C%25, No. 12, pp. 1,226–1,241. 1976. http://www.compu% ter.org/tc.

(Boehm 81)

Boehm, Barry. Software Engineering Economics. Prentice Hall, 1981. 0138221227.

1Кент Бек «Экстремальное программирование». – Пер. с англ. – СПб.: Питер, 2002.

2Мередит Белбин «Команды менеджеров. Секреты успеха и причины не% удач». – Пер. с англ. – Hippo, 2003.

 

 

 

 

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

 

 

 

 

 

689Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

(Boehm 87)

Boehm, Barry. «Improving Software Productivity». IEEE computer, Vol. 20, No. 9. 1987.

(Boehm 88)

Boehm, Barry. «A Spiral Model of Software Development and Enhance% ment». IEEE computer, Vol. 21. May 5, 1988.

(Booch 97)

Booch, Grady. Object Oriented Analysis and Design With Applications.

Benjamin/Cummings, 1994. Second Edition. 0805353402. (Briggs 80)

Briggs Myers, Isabel. Gifts Differing: Understanding Personality Type.

Consulting Psychologist’s Press, 1980. 0891060111. (Brooks 95)

Brooks, Frederick P., Jr. The Mythical Man Month. Addison%Wesley, 1995. Anniversary Edition. 0201835959.1

(DeMarco 99)

DeMarco, Tom, and Timothy Lister. Peopleware: Productive Projects and Teams. Dorset House, 1999. Second Edition. 0932633439.2

(Dijkstra 68)

Dijkstra, Edsger W. «Go To Statement Considered Harmful». Communi# cations of the ACM, Vol. 11, No. 3, pp. 147–148. 1968.

(Doxygen)

van Heesch, Dimitri. Doxygen. http://www.doxygen.org.

(Economist 01)

«Agility counts». The Economist. September 20, 2001.

(Fagan 76)

Fagan, Michael. «Design and code inspections to reduce errors in program development». IBM Systems Journal, Vol. 15, No. 3. 1976.

(Feldman 78)

Feldman, Stuart. «Make – A Program for Maintaining Computer Pro% grams». Bell Laboratories Computering Science Technical Report 57.

1978.

(Fowler 99)

Fowler, Martin. Refactoring: Improving the Design of Existing Code.

Addison%Wesley, 1999. 0201485672.3

1Фредерик Брукс «Мифический человеко%месяц или как создаются про% граммные системы». – Пер. с англ. – СПб.: Символ%Плюс, 2000.

2Демарко Т., Листер Т. «Человеческий фактор: успешные проекты и коман% ды». – Пер. с англ. – СПб.: Символ%Плюс, 2005.

3Мартин Фаулер «Рефакторинг: улучшение существующего кода». – Пер.

с англ. – СПб: Символ%Плюс, 2002.

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

690m

 

 

 

 

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

 

 

 

 

 

БиблиографияClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

(Gamma et al. 94)

Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object#Oriented Software. Addison% Wesley, 1994. 0201633612.1

(Gosling et al. 94)

Gosling, James, Bill Joy, Guy Steele, and Gilad Bracha. The Java Langu# age Specification. Addison%Wesley, 2000. Second Edition. 0201310082. http://java.sun.com.

(Gould 75)

Gould, John. «Some Psychological Evidence on How People Debug Compu% ter Programs». International Journal of Man#Machine Studies. 1975.

(Groom 94)

Groom, Winston. Forrest Gump. Black Swan, 1994. 0552996092.2

(Hoare 81)

Hoare, Charles. «The Emperor’s Old Clothes». Communications of the ACM, Vol. 24, No 2. ACM, 1981.

(Humphrey 97)

Humphrey, Watts S. Introduction to the Personal Software Process. Ad% dison%Wesley, 1997. 0201548097.

(Humphrey 98)

Humphrey, Watts S. «The Software Quality Profile». Software Quality Professional. December 1998. http://www.sei.cmu.edu/publications/ar% ticles/quality%profile/.

(Hunt Davis 99)

Hunt, Andrew, and David Thomas. The Pragmatic Programmer. Addi% son%Wesley, 1999. 020161622X.3

(IEEE 84)

IEEE Standard Glossary of Software Engineering Terminology. ANSI/ IEEE, 1984. ANSI/IEEE Standard 729.

(ISO 84)

ISO7498:1984(E) Information Processing Systems – Open Systems Interconnection – Basic Reference Model. International Standard for In% formation Systems, 1984. ISO Standard ISO 7498:1984(E).

(ISO 98)

ISO/IEC 14882:1998, Programming Languages – C++. International Standard for Information Systems, 1998. ISO Standard ISO/IEC 14882:1998.

1Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. «Приемы объектно%ориен% тированного проектирования. Паттерны проектирования». – Пер. с англ. – СПб.: Питер, 2001, 2007.

2Уинстон Грум «Форрест Гамп». – Пер. с англ. – Амфора, 2004.

3Э. Хант и Д. Томас «Программист%прагматик. Путь от подмастерья к мас%

теру». – Пер. с англ. – Лори, 2009.

 

 

 

 

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

 

 

 

 

 

691Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

(ISO 99)

ISO/IEC 9899:1999, Programming Languages – C. International Stan% dard for Information Systems, 1999. ISO Standard ISO/IEC 9899:1999.

(ISO 05)

ISO/IEC 23270:2003, Information technology – C# Language Specifi# cation. International Standard for Information Systems, 2005. ISO Stan% dard ISO/IEC 23270:2003.

(Jackson 75)

Jackson, M.A. Principles of Program Design. Academic Press, 1975. 0123790506.

(Javadoc)

Javadoc. Sun Microsystems, Inc. http://java.sun.com/products/jdk/ jav% adoc.

(Kernighan Pike 99)

Kernighan, Brian W., and Rob Pike. The Practice of Programming. Add% ison%Wesley, 1999. 020161586X.1

(Kernighan Plaugher 76)

Kernighan, Brian W., and P.J. Plaugher. Software Tools. Addison% Wes% ley, 1976. 020103669X.

(Kernighan Plaugher 78)

Kernighan, Brian W., and P.J. Plaugher. The Elements of Programming Style. McGraw%Hill, 1978. 0070341990.

(Kernighan Ritchie 88)

Kernighan, Brian W., and Dennis M. Ritchie. The C Programming Lan# guage. Prentice Hall, 1988. Second Edition. 0131103628.2

(Knuth 92)

Knuth, Donald. Literate Programming. CSLI Publications, 1992. 0937073806.

(Kurlansky 99)

Kurlansky, Mark. The Basque History of the World. Jonathan Cope, 1999. 0224060554.

(McConnell 96)

McConnell, Steve. Rapid Development. Microsoft Press, 1996. 1556159005.

(McConnell 04)

McConnell, Steve. Code Complete: A Practical Handbook of Software Construction. Microsoft Press, 2004. Second Edition. 0735619670.3

1Б. Керниган и Р. Пайк «Практика программирования». – Пер. с англ. – М: Вильямс, 2004.

2Б. Керниган, Д. Ритчи «Язык программирования Си». – Пер. с англ. – Нев% ский Диалект, 2000.

3С. Макконнелл «Совершенный код. Практическое руководство по разра%

ботке программного обеспечения». – Пер. с англ. – СПб.: Питер, 2005.

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

692m

 

 

 

 

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

 

 

 

 

 

БиблиографияClick

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

(Meyers 97)

Meyers, Scott. Effective C++. Addison%Wesley, 1997. Item 34: Minimize complication dependencies between files. 0201924889.1

(Miller 56)

Miller, George A. «The Magical Number Seven, Plus or Minus Two: Some Limits on our Capacity for Processing Information». First published in

Psychological Review, 63, pp. 81–97. 1956.

(Myers 86)

Myers, Ware. «Can software for the Strategic Defense Initiative ever be error%free?» IEEE computer. Vol. 19, No. 10, pp. 61–67. 1986.

(Page Jones 96)

Page%Jones, Meilir. What Every Programmer Should Know About Ob# ject#oriented Design. Dorset House Publishing Co., 1996. 0932633315.

(Royce 70)

Royce, W.W. «Managing the Development of Large Software Systems». Proceedings of IEEE WESCON, August 1970.

(Simpsons 91)

Simpsons, The. «Do the Bart Man». Geffen, 1991. GEF87CD.

(Stroustrup 97)

Stroustrup, Bjarne. The C++ Programming Language. Addison%Wesley, 1997. Third Edition. 0%201%88954%4.

(UML)

Unified Modeling Language. Object Management Group. http:// www.uml.org.

(Vitruvius)

Vitruvius Pollio, Marcus (c. 70–25 BC). De Architectura. Book 1, Chapter 3, Section 2.

(Weinberg 71)

Weinberg, Gerald. The Psychology Of Computer Programming. Van Nostrand Reinhold, 1971. 0932633420.

(Wulf 72)

Wulf, William A. «A Case Against the GOTO». Proceedings of the twenty% fifth National ACM Conference, 1972.

1Скотт Мэйерс «Эффективное использование С++. 55 верных способов улуч%

шить структуру и код ваших программ». – Пер. с англ. – ДМК Пресс, 2006.