Chapter 2. Software Development, Testing, and Maintenance

2.0 Introduction

This chapter focusses 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” which download and cache dependencies, build applications, and do much more for you in terms of automation. The remaining recipes concentrate on testing and maintaining effective 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 Modules System.

Solution

Evaluate the major sections of your application, and consider its structure as one or more major modules, and packages withing 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” ...

Get Java Cookbook, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.