Excerpt of CC2
文章平均质量分 70
wangjiong
这个作者很懒,什么都没留下…
展开
-
Pseudocode Programming Process
Guidelines for using pseudocode1. Use English-like statements that precisely describe specific operations.2. Avoid syntactic elements from the target programming language.3. Write pseudocode at the le原创 2004-09-28 23:44:00 · 958 阅读 · 0 评论 -
Control-Unusual Structures
Multiple Returns from a Routine1. Use a return when it enhances readability.2. Use guard clauses(early returns or exits) to simplify complex error processing.3. Minimize the number of returns in each原创 2004-10-12 23:31:00 · 778 阅读 · 0 评论 -
The Software-Quality Landscape
Characteristics of software qualityExtenal chracteristics that a user is aware of:1. Correctness. The degree of which a system is free from faults in its specification, design and implementation.2. Us原创 2004-10-16 23:27:00 · 1076 阅读 · 0 评论 -
Developer Testing
Recommended approach to developer testing1. Test for each relevant requirement to make sure that the requirements have been implemented. Plan the test cases for this step at the requirements stage or原创 2004-10-19 23:10:00 · 970 阅读 · 0 评论 -
Refactoring
Reasons to refactor:1. Code is duplicated.2. A routine is too long.3. A loop is too long or too deeply nested.4. A class has poor cohesion.5. A class interface does not provide a consistent level of a原创 2004-10-21 23:48:00 · 819 阅读 · 0 评论 -
Collaborative Development
Collaborative construction refers to pair programming, formal inspections, informal techinical reviews and document reading, as well as other techniques in which developers share responsibility for cr原创 2004-10-18 23:26:00 · 946 阅读 · 0 评论 -
Debugging
Like testing, debugging isnt a way to improve the quality of your software; its a way to diagnose defects.Effective approach for finding a defect:1. Stabilize the error.2. Locate the source of the原创 2004-10-20 22:38:00 · 856 阅读 · 0 评论 -
Performance Tuning Strategies.
Think about efficiency from each of these viewpoint1. Program requirements. Performance is stated as a requirement far more often than is actually is a requirement. Before you invest time solving a pe原创 2004-10-22 22:10:00 · 783 阅读 · 0 评论 -
Managing Construction
Encouraging good codingSince code is the primary output of construction, a key question in managing construction is "how do you encourage good coding practices?"Techniques for a achieving good codin原创 2004-10-24 22:35:00 · 831 阅读 · 0 评论 -
Integration
Benefits you can expect from careful integration:1. Easier defect diagnosis2. Fewer defects3. Less scaffolding4. Shorter time to first working product5. Shorter overall development schedules6. Improve原创 2004-10-26 23:23:00 · 1128 阅读 · 0 评论 -
Layout and Style
Objective of good layout1. Accurately represent the logical structure of the code.2. Consistently represent the logical structure of the code.3. Improve readability4. Withstand modifications.Guideli原创 2004-10-27 23:04:00 · 804 阅读 · 0 评论 -
Performance Tuning Techinques.
Logic1. Stop testing when you know the answer.Some languages provides a form of expression evaluation known as "short-circuit evaluation", which means that the compiler generates code that automatical原创 2004-10-22 22:25:00 · 845 阅读 · 0 评论 -
Documentation
Kind of comments:1. Repeat of the code. A repetitious comment restates that the code does in defferent words. It merely give the reader of the code more to read without providing additional informatio原创 2004-10-28 23:14:00 · 997 阅读 · 0 评论 -
Table-Driven Methods
First, an example of table-driven method in P2How to look up entries in the table1. Direct AccessFor example, you want to the days number for every month, store the days in an array and use month as原创 2004-10-14 23:02:00 · 1095 阅读 · 0 评论 -
General Control Issues
Boolean Expressions1. Break complicated tests into partial tests with new boolean variables.Rather than creating a monstrous test with half a dozen terms, assign intermediate values to terms that allo原创 2004-10-15 23:46:00 · 965 阅读 · 0 评论 -
Control-Conditionals
Guidelines when writing if statements1. Write the nominal path through the code first; then write the unusual cases.2. Make sure that you branch correctly on equality.3. Follow the if clause with a me原创 2004-10-09 22:05:00 · 720 阅读 · 0 评论 -
General Issuess in Using Variables
Data DeclarationImplicit declaration is one of the most hazardous features available in any language.Initializing VariablesImproper data initialization is one of the most fertile sources of error in原创 2004-09-29 22:29:00 · 904 阅读 · 0 评论 -
Data Names
1. Express exact meaning.2. As short as possible.Naming Loop IndexesIn common, we can use the names such as i,j and k; but when loop is long and complex, we should use a meaningful name like recordC原创 2004-09-30 22:26:00 · 858 阅读 · 0 评论 -
Classes(1)
Good Encapsulation1. Minimiza accessibility of classes and members.2. Dont expose member data in public.3. Dont put private implementation details in a classs interface4. Favor read-time convenienc原创 2004-09-19 17:30:00 · 765 阅读 · 0 评论 -
Classes(2)
Constructors1. Initialize all member data in all constructors, if possible.2. Initialize data members in the order in which theyre declared.3. Enfore the singleton property by using a a private const原创 2004-09-20 23:19:00 · 743 阅读 · 0 评论 -
High-Quality Routines(1)
What is a "routine"?A routine is an individual method or procedure invocable for a single purpose.What is a high-quality routine?Its a difficult question because it may include many features such原创 2004-09-22 18:44:00 · 832 阅读 · 0 评论 -
High-Quality Routines(2)
How to Use Routine Parameters1. Put parameters in input-modify-output orderInstead of ordering parameters randomly or alphabetically, list the parameters that are input-only first, input-and-output se原创 2004-09-23 14:47:00 · 697 阅读 · 0 评论 -
Defensive Programming
In defensive programming, the main idea is that if a routine is passed bad data, it wont be hurt, even if the bad dadta is another routines fault.Three genreal ways to handle garbage in1. Check the原创 2004-09-26 16:13:00 · 1157 阅读 · 0 评论 -
Code Complete, My old friend.
今天,从网上下载了Code Complete, 2 Edtion的电子书,心里非常高兴。仿佛是看见了一个老朋友再次出现在我的面前。一直认为Code Complete是对我帮助最大的一本书之一。阅读CC, 1 Edtion,那还是在我刚毕业时候,对怎样成为一个好的软件工程师充满了迷惑,不知道怎样才能快速的成长起来。后来有人推荐了CC1,当时网上的电子书很少,只好托人从国外给我带了一本回来(另外还原创 2004-09-13 14:31:00 · 1237 阅读 · 5 评论 -
Unusual Data Types
Structures1. Use structures to clarify data relationship.2. Use structures to simplify operations on blocks of data.3. Use sturctures to simplify parameter lists.4. Use structures to reduce maintenanc原创 2004-10-08 22:21:00 · 833 阅读 · 0 评论 -
Data Types
Numbers in General1. Avoid "magic numbers".2. Use hard-coded 0s and 1s if you need to.3. Anticipate divide-by-zero errors.4. Make type conversions obvious.5. Avoid mixed-type comparisons.Integer1. C原创 2004-10-06 22:36:00 · 829 阅读 · 0 评论 -
Control-Loops
Entering the Loop1. Enter the loop from one location only.2. Put initialize code directly before the loop.3. In C++ and Java, use for(;;) or while(true) for infinite loops.4. Dont use a for loop when原创 2004-10-10 23:36:00 · 1027 阅读 · 0 评论 -
Control-StraightLine Code
Statement that must be in a specific order1. Organize code so that dependencies are obvious.2. Name routines so that dependencies are obvious.3. Use routine parameters to make dependencies obvious.4.原创 2004-10-08 22:34:00 · 866 阅读 · 0 评论 -
Personal Characters
You employer cant force you to be a good programmer; a lot of times your employer isnt even in a position to judge whether youre good. If you want to be great, youre responsile for making yourself原创 2004-10-29 23:16:00 · 1772 阅读 · 1 评论