Usually more time is spent in making good-looking presentation slides than in improving the quality of the software.
Hurrying to solve a problem is one of the most time-ineffective things you can do.
Summary of Design Heuristics Here's a summary of major design heuristics: More alarming, the same programmer is quite capable of doing the same task himself in two or three ways, sometimes unconscious...
The picture of the software designer deriving his design in a rational, error-free way from a statement of requirements is quite unrealistic. No system has ever been developed in that way, and probabl...
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...
The process is called estimation, not exactimation. —Phillip Armour
You save time when you don't need to have an awards ceremony every time a C statement does what it's supposed to. Moreover,
Favor read-time convenience to write-time convenience. Code
In the vast majority of systems, efficiency isn't critical.
As Thomas Hobbes observed in the 17th century, life under mob rule is solitary, poor, nasty, brutish and short. Life on a poorly run software project is solitary, poor, nasty, brutish, and hardly ever...
The most challenging part of programming is conceptualizing the problem, and many errors in programming are conceptual errors. Because
Hide global data. If you need to use global data, you can hide its implementation details behind a class interface. Working with global data through access routines provides several benefits compared...
NASA identifies reuse candidates at the ends of their projects. They then perform the work needed to make the classes reusable as a special project at the end of the main project or as the first step...
People who are effective at developing high-quality software have spent years accumulating dozens of techniques, tricks, and magic incantations. The techniques are not rules; they are analytical tools...
Mature testing organizations tend to have five dirty tests for every clean test.
Programmers who program into a language first decide what thoughts they want to express, and then they determine how to express those thoughts using the tools provided by their specific language.
Code reading detected about 80 percent more faults per hour than testing
Example 6-11. Java Example of Enforcing a Singleton with a Private Constructor public class MaxId { // constructors and destructors private MaxId() { <-- 1 ... } ... // publ...
The words available in a programming language for expressing your programming thoughts certainly determine how you express your thoughts and might even determine what thoughts you can express.
If a class contains more than about seven data members, consider whether the class should be decomposed into multiple smaller classes (Riel 1996). You might err more toward the high end of 7±2 if the...
Showing 21 to 40 of 100 results