Building software implies various stages of planning, preparation and execution that vary in kind and degree depending on what's being built. [...]Building a four-foot tower requires a steady hand, a...
Managers of programming projects aren’t always aware that certain programmingissues are matters of religion. If you’re a manager and you try to require compliancewith certain programming practices, yo...
Eighty percent of the errors are found in 20 percent of a project's classes or routines
Inheritance is the idea that one class is a specialization of another class. The purpose of inheritance is to create simpler code by defining a base class that specifies common elements of two or more...
The gap between the best software engineering practice and the average practice is very wide—perhaps wider than in any other engineering discipline. A tool that disseminates good practice would be imp...
Too much of anything is bad, but too much whiskey is just enough. — Mark Twain
Quicksort a few times, but what are the odds that your custom version will be fully correct on the first try?
Don't use a boolean variable as a status variable. Use an enumerated type instead. It's common to add a new state to a status variable, and adding a new type to an enumerated type requires a mere reco...
When executives ask for an estimate, they’re often asking for a commitment or for a plan to meet a target.
Containment is the simple idea that a class contains a primitive data element or object. A lot more is written about inheritance than about containment, but that's because inheritance is more tricky a...
Class Quality Abstract Data Types Have you thought of the classes in your program as abstract data types and evaluated their interfaces from that point of view? Abstraction Does the class have a centr...
It's better to strive for a good solution and avoid disaster rather than trying to find the best solution
Copy and paste is a design error
When in doubt, use brute force.
It's done by creating 25 times as many dirty tests
Good code is its own best documentation. As you're about to add a comment, ask yourself, 'How can I improve the code so that this comment isn't needed?' Improve the code and then document it to make i...
Be sure that the names you choose favor read-time convenience over write-time convenience.
Inheritance is a powerful tool for reducing complexity because a programmer can focus on the generic attributes of an object without worrying about the details. If a programmer must be constantly thin...
Error processing is turning out to be one of the thorniest problems of modern computer science, and you can't afford to deal with it haphazardly. Some people have estimated that as much as 90 percent...
The error rate in manual testing is comparable to the bug rate in the code being tested.
Showing 1 to 20 of 100 results