Code Complete
Rate it:
Open Preview
Started reading November 29, 2024
1%
Flag icon
Many powerful programming techniques hide in journals and academic papers for years before trickling down to the programming public.
2%
Flag icon
The claim that construction errors cost less to fix is true but misleading because the cost of not fixing them can be incredibly high.
2%
Flag icon
The irony of the shift in focus away from construction is that construction is the only activity that's guaranteed to be done.
2%
Flag icon
Construction is the central activity in software development. Requirements
3%
Flag icon
A heuristic is a technique that helps you look for an answer.
3%
Flag icon
A heuristic tells you how to discover the instructions for yourself, or at least where to look for them.
3%
Flag icon
The letter-writing metaphor suggests that the software process relies on expensive trial and error rather than careful planning and design
3%
Flag icon
In incremental development, you first make the simplest possible version of the system that will run.
4%
Flag icon
Paying attention to quality is also the best way to improve productivity.
4%
Flag icon
By far the most common project risks in software development are poor requirements and poor project planning, thus preparation tends to focus on improving requirements and project plans.
4%
Flag icon
From a management point of view, planning means determining the amount of time, number of people, and number of computers the project will need.
4%
Flag icon
The iterative approach absorbs rework piecemeal over the course of the project, which makes the total cost lower.
5%
Flag icon
A problem definition defines what the problem is without any reference to possible solutions.
5%
Flag icon
5%
Flag icon
The problem definition lays the foundation for the rest of the programming process
5%
Flag icon
The best solution might not be a computer program.
5%
Flag icon
Be sure you know what you're aiming at before you shoot
5%
Flag icon
Requirements describe in detail what a software system is supposed to do, and they are the first step toward a solution.
5%
Flag icon
Explicit requirements keep you from guessing what the user wants.
5%
Flag icon
If you find a requirements error during coding, you have to alter the design to meet the changed requirement.
5%
Flag icon
Without good requirements, you can have the right general problem but miss the mark on specific aspects of the problem
5%
Flag icon
Stable requirements are the holy grail of software development.
5%
Flag icon
Requirements are like water. They're easier to build on when they're frozen.
5%
Flag icon
A plan to follow the requirements rigidly is actually a plan not to respond to your customer.
5%
Flag icon
If you're not heading in the right direction, stop and check your course.
5%
Flag icon
Clients get excited when they think of a new feature.
5%
Flag icon
It's all right for customers to change their minds and to realize that they need more capabilities.
5%
Flag icon
Evolutionary delivery is an approach that delivers the system in stages.
5%
Flag icon
Think about how much worse it would have to get before you would cancel it.
5%
Flag icon
Many requirements issues disappear before your eyes when you refer back to the business reason for doing the project.
5%
Flag icon
Are all the tasks the user wants to perform specified?
5%
Flag icon
Is the level of security specified?
5%
Flag icon
Is the definition of success included? Of failure?
5%
Flag icon
Are the requirements clear enough to be turned over to an independent group for construction and still be understood? Do the developers think so?
6%
Flag icon
Is each item relevant to the problem and its solution? Can each item be traced to its origin in the problem environment?
6%
Flag icon
Is each requirement testable? Will it be possible for independent testing to determine whether each r...
This highlight has been truncated due to consecutive passage length restrictions.
6%
Flag icon
Are the requirements complete in the sense that if the product satisfies every requirement, it will be acceptable?
6%
Flag icon
Are you comfortable with all the requirements? Have you eliminated requirements that are impossible to implement and included just to appease your customer or your boss?
6%
Flag icon
In the architecture, you should find evidence that alternatives to the final organization were considered and find the reasons for choosing the final organization over its alternatives.
6%
Flag icon
The architecture should define the major building blocks in a program.
6%
Flag icon
The architecture should specify the major classes to be used. It should identify the responsibilities of each major class and how the class will interact with other classes.
6%
Flag icon
The architecture should describe other class designs that were considered and give reasons for preferring the organization that was chosen.
6%
Flag icon
The architecture should describe the major files and table designs to be used.
6%
Flag icon
The architecture should estimate the resources used for nominal and extreme cases.
6%
Flag icon
The architecture should provide estimates and explain why the architects believe the goals are achievable.
6%
Flag icon
Scalability is the ability of a system to grow to meet future demands.
6%
Flag icon
Is error processing corrective or merely detective?
6%
Flag icon
Is error detection active or passive?
6%
Flag icon
How does the program propagate errors?
6%
Flag icon
What are the conventions for handling error messages?
« Prev 1 3 4