BOOK REPORT:Code Complete
2011-05-25 06:25
405 查看
BOOKNAME::Code Complete
AUTHOR::Code Complete
Here's a download site for this book:
http://www.verycd.com/topics/147539/
The focus of Code Complete is software construction, i.e. the coding part of software
development. As Steve McConnell notes in the preface, "construction is the only activity
that is guaranteed to be done". You can skip almost any step (requirements, testing
etc), but if you don't write any code there is not going to be any software.
When beginning reading Code Complete, and I was immediately fascinated. I had never
read anything like it before - a book that concentrated on the actual writing of the code.
For example, it had a whole chapter on if- and case-statements, and another chapter
on the naming of variables. I had no idea there was so much to learn about these
seemingly straight forward activities. It was immediately useful to me, and I started to
apply as much as I could of what I learnt from it.
Although it concentrated on coding, it covered a broad spectrum of activities around
coding, from requirements and design to testing, debugging and optimization. It also
had a great reference section with suggestions of further reading in the area of software
engineering.
This book is the number one book on writing code. It is near encyclopaedic in its
coverage of the nuts and bolts of programming. There are chapters on the naming
of variables, on organizing straight-line code, on conditionals, on loops, on lay-out,
on good commenting and on how to write good methods.
In it, there are frequent references to scientific studies that support the advice given
in the book. For example, how long should variable names be? Instead of just giving
us his opinion, McConnell summarized the findings of several scientific studies on the
subject.
Each time there is reference to a study, there is a little "hard data" symbol in the
margin. There are other symbols in the margin as well, "Coding Horror" for code
examples of what not to do, and "Key Point" for, well, key points. The margin is also
used for cross references to other chapters, and for quotes related to the subject
discussed. For me, this works really well. It is both useful and makes the text easier
to read. In general, the book is very well laid out.
Some useful quotes from the book:
Chapter 7.1 Valid Reasons to Create a Routine - for example: Reduce complexity,
Introduce an intermediate understandable abstraction, and Avoid duplicate code
(there are 6 more valid reasons in this chapter). The second part of the chapter is
called Operations That Seem Too Simple to Put Into Routines and contains a great
example of why it can be good to put even a one-line calculation in a routine - the
code becomes more readable, and small operations tend to turn into larger operations.
Page 172 (and 264 for variables) Use opposites precisely. When naming "opposite"
methods and variables, be careful to use the correct pairs, like add/remove, begin/end,
create/destroy etc. This makes the relationship between them clear and obvious.
Page 433 Break complicated tests into partial tests with new boolean variables. This
is such a simple thing, but it makes the code a lot more readable.
Page 754 "Make the incompleteness of a statement obvi". For example, when breaking
up a logical and over two lines, end the first line with && - that way, it is clear that the
statement continues on the next line.
AUTHOR::Code Complete
Here's a download site for this book:
http://www.verycd.com/topics/147539/
The focus of Code Complete is software construction, i.e. the coding part of software
development. As Steve McConnell notes in the preface, "construction is the only activity
that is guaranteed to be done". You can skip almost any step (requirements, testing
etc), but if you don't write any code there is not going to be any software.
When beginning reading Code Complete, and I was immediately fascinated. I had never
read anything like it before - a book that concentrated on the actual writing of the code.
For example, it had a whole chapter on if- and case-statements, and another chapter
on the naming of variables. I had no idea there was so much to learn about these
seemingly straight forward activities. It was immediately useful to me, and I started to
apply as much as I could of what I learnt from it.
Although it concentrated on coding, it covered a broad spectrum of activities around
coding, from requirements and design to testing, debugging and optimization. It also
had a great reference section with suggestions of further reading in the area of software
engineering.
This book is the number one book on writing code. It is near encyclopaedic in its
coverage of the nuts and bolts of programming. There are chapters on the naming
of variables, on organizing straight-line code, on conditionals, on loops, on lay-out,
on good commenting and on how to write good methods.
In it, there are frequent references to scientific studies that support the advice given
in the book. For example, how long should variable names be? Instead of just giving
us his opinion, McConnell summarized the findings of several scientific studies on the
subject.
Each time there is reference to a study, there is a little "hard data" symbol in the
margin. There are other symbols in the margin as well, "Coding Horror" for code
examples of what not to do, and "Key Point" for, well, key points. The margin is also
used for cross references to other chapters, and for quotes related to the subject
discussed. For me, this works really well. It is both useful and makes the text easier
to read. In general, the book is very well laid out.
Some useful quotes from the book:
Chapter 7.1 Valid Reasons to Create a Routine - for example: Reduce complexity,
Introduce an intermediate understandable abstraction, and Avoid duplicate code
(there are 6 more valid reasons in this chapter). The second part of the chapter is
called Operations That Seem Too Simple to Put Into Routines and contains a great
example of why it can be good to put even a one-line calculation in a routine - the
code becomes more readable, and small operations tend to turn into larger operations.
Page 172 (and 264 for variables) Use opposites precisely. When naming "opposite"
methods and variables, be careful to use the correct pairs, like add/remove, begin/end,
create/destroy etc. This makes the relationship between them clear and obvious.
Page 433 Break complicated tests into partial tests with new boolean variables. This
is such a simple thing, but it makes the code a lot more readable.
Page 754 "Make the incompleteness of a statement obvi". For example, when breaking
up a logical and over two lines, end the first line with && - that way, it is clear that the
statement continues on the next line.
相关文章推荐
- BOOK REPORT:Exceptional C++
- Book Report: 软件之梦与现实之痛 《梦断代码》读后感
- BOOK REPORT:Icon
- BOOK REPORT: The Design of Everyday Things
- 曹竹book report:软件开发过程与案例
- \documentclass{article,report,book or letter}
- 曹竹BOOK REPORT:Crucial Conversations
- Book Report: THE SOUL OF A NEW MACHINE
- book report:Head First Design Patterns
- Report (enovia) 开发实践档案——PP Cost Book Report
- BOOK REPORT:The Design of Design
- BOOK REPORT:软件开发过程与案例
- Book Report:Writing Solid Code《编程精粹》
- 曹竹 BOOK REPORT:Perfect Software
- Book REPORT:Subject To Change
- BOOK REPORT: Rapid Development
- Book Report: The Old New Thing
- BOOK REPORT:The Soul of A New Machine
- 曹竹book report:Dealers of Lightning
- Book Report —— 读《程序员修炼之道》有感