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...
Too much of anything is bad, but too much whiskey is just enough. — Mark Twain
Eighty percent of the errors are found in 20 percent of a project's classes or routines
It's better to strive for a good solution and avoid disaster rather than trying to find the best solution
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...
When executives ask for an estimate, they’re often asking for a commitment or for a plan to meet a target.
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...
Be sure that the names you choose favor read-time convenience over write-time convenience.
Quicksort a few times, but what are the odds that your custom version will be fully correct on the first try?
It's done by creating 25 times as many dirty tests
When in doubt, use brute force.
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...
Copy and paste is a design error
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...
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...
The error rate in manual testing is comparable to the bug rate in the code being tested.
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...
Modern software is inherently complex, and no matter how hard you try, you'll eventually bump into some level of complexity that's inherent in the real-world problem itself. This suggests a two-prong...
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...
Showing 1 to 20 of 100 results