Chapter 2. Software Development, Testing, and Maintenance
2.0 Introduction
This chapter focuses on techniques for building larger applications, maintaining code quality, and ensuring code correctness. First up is coverage of both Apache Maven and Gradle Inc.’s eponmyous Gradle, the two main build tools that download and cache dependencies, build applications, and do much more for you in terms of automation. The remaining recipes concentrate on testing and maintaining software effectively.
2.1 Designing Applications: Packages, Modules
Problem
You want to be able to import classes and/or organize your classes, so you want to create your own package. You want to design software with a good structure that will work with the Java Module System.
Solution
Evaluate the major sections of your application, and consider its structure as one or more major modules,
and packages within modules.
Put a package statement at the front of each file, and recompile with -d or a build tool or IDE.
Discussion
One of the better aspects of the Java language is that it has defined a very clear packaging mechanism for categorizing and managing its large API. Modules consist of one or more packages, packages consist of classes, and classes consist of methods and fields.
As discussed in Recipe 2.2, modules provide a high degree of separation among different parts of your application. You might have three “tiers” in your application: the user interface, the middle tier or “business” tier, and the backend ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access