Download Building Maintainable Software, Java Edition by Joost Visser, Sylvan Rigal, Rob van der Leek, Pascal van PDF

By Joost Visser, Sylvan Rigal, Rob van der Leek, Pascal van Eck, Gijs Wijnholds

Have you felt annoyed operating with somebody else's code? Difficult-to-maintain resource code is a huge challenge in software program improvement this present day, resulting in high priced delays and defects. join the answer. With this sensible booklet, you'll research 10 easy-to-follow guidance for providing Java software program that's effortless to take care of and adapt. those guidance were derived from studying hundreds and hundreds of real-world systems.

Written by way of experts from the software program development staff (SIG), this publication offers transparent and concise causes, with recommendation for turning the ideas into perform. Examples for this variation are written in Java, whereas our spouse C# e-book presents doable examples in that language.

Show description

Read or Download Building Maintainable Software, Java Edition PDF

Best software development books

Design Patterns: Elements of Reusable Object-Oriented Software

4 top-notch authors current the 1st e-book containing a catalog of object-oriented layout styles. Readers will how one can use layout styles within the object-oriented improvement technique, the way to clear up particular layout difficulties utilizing styles, and achieve a standard vocabulary for object-oriented layout.

Extreme Programming Perspectives

Provides forty seven articles that signify the insights and sensible knowledge of the leaders of the XP group. supply experience-based innovations for imposing XP successfully and gives profitable transitioning recommendations. Softcover.

Decision Making with Dominance Constraints in Two-Stage Stochastic Integer Programming

Two-stage stochastic programming types are regarded as beautiful instruments for making optimum judgements below uncertainty. ordinarily, optimality is formalized via employing statistical parameters comparable to the expectancy or the conditional worth in danger to the distributions of goal values. Uwe Gotzes analyzes an method of account for probability aversion in two-stage versions established upon partial orders at the set of genuine random variables.

Additional info for Building Maintainable Software, Java Edition

Example text

The quality profile tells us that the Jenkins codebase has 64% of its code in methods that are no longer than 15 lines of code (compliant with the guideline). The profile also shows that 18% of all the code in the codebase is in methods between 16 and 30 lines of code, and 12% is in methods between 31 and 60 lines of code. The Jenkins code‐ base is not perfect. It has severe unit size violations: 6% of the codebase is in very long units (more than 60 lines of code). The second chart in Figure 1-1 shows the quality profile of a 2-star system.

However, it is true that sometimes a source code statement simply cannot be split. A typical example in enterprise software is SQL query construction. getCity() + "

"); } } This example has 16 lines of code. However, there are just three statements. The sec‐ ond statement contains an expression that spans nine lines. Indeed, you cannot extract just this statement; neither the Extract Method nor the Replace Method with Method Object technique is applicable, at least not directly. info | 23 method.

Copying existing code looks like a quick win—why write something anew when it already exists? The point is: copied code leads to duplicates, and duplicates are a problem. As the quote above indicates, some even say that duplicates are the biggest software quality problem of all. Consider a system that manages bank accounts. In this system, money transfers between accounts are represented by objects of the Transfer class (not shown here). The bank offers checking accounts represented by class CheckingAccount: public class CheckingAccount { private int transferLimit = 100; public Transfer makeTransfer(String counterAccount, Money amount) throws BusinessException { // 1.

Download PDF sample

Rated 4.06 of 5 – based on 6 votes