One effective approach is to determine a range of accuracy that is acceptable and then use a boolean function to determine whether the values are close enough.
One of the most effective guidelines is not to get stuck on a single approach. If diagramming the design in UML isn't working, write it in English. Write a short test program. Try a completely differe...
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.
The automatic computer confronts us with a radically new intellectual challenge that has no precedent in our history. Of course software has become even more complex since 1989, and Dijkstra's ratio o...
Few people can understand more than three levels of nested ifs
Developers' estimates tend to have an optimism factor of 20 to 30 percent
Developer testing should probably take 8 to 25 percent of the total project time.
One of the main differences between programs you develop in school and those you develop as a professional is that the design problems solved by school programs are rarely, if ever, wicked.
Code reading detected about 80 percent more faults per hour than testing
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...
Design Is a Wicked Problem Horst Rittel and Melvin Webber defined a wicked problem as one that could be clearly defined only by solving it, or by solving part of it (1973). This paradox implies, essen...
Design is sloppy because a good solution is often only subtly different from a poor one.
Use locking to control access to global variables. Similar to concurrency control in a multiuser database environment, locking requires that before the value of a global variable can be used or update...
Try to create modules that depend little on other modules. Make them detached, as business associates are, rather than attached, as Siamese twins are.
Even if you do a few things right, such as making high use of modern programming practices, you might still make a mistake that nullifies your productivity gains.
Streamline parameter passing. If you're passing a parameter among several routines, that might indicate a need to factor those routines into a class that share the parameter as object data. Streamlini...
Example 6-11. Java Example of Enforcing a Singleton with a Private Constructor public class MaxId { // constructors and destructors private MaxId() { <-- 1 ... } ... // publ...
Global data is generally subject to two problems: routines operate on global data without knowing that other routines are operating on it, and routines are aware that other routines are operating on t...
The concept of modularity is related to information hiding, encapsulation, and other design heuristics. But sometimes thinking about how to assemble a system from a set of black boxes provides insight...
The first conclusion is that we now know with certainty that peopleware issues have more impact on software productivity and software quality than any other factor.
Showing 81 to 100 of 100 results