I do not want to use the term “best practice” here since it implies there can be no other solutions. There are many ways to solve problems, but here are a few that work.
Tip: Where the word “MyApp” is used in this chapter, replace it with the name of the application you are building. For example, if you are working on a project called “GlowFish”, replace “MyApp” with “GlowFish”.
[app.name] Invent a unique name for the application.
[app.production] Are you production grade?
[app.folder] Install applications together
[app.source] Common source into libraries
[app.println] Java logging not System.out.println(..)
[app.mvc] Keep MVC layers clean
[app.build] Get a fast end-to-end build working
[app.messages.properties] Where to use messages.properties
[app.sql] Reduce your dependence on SQL
[app.tester] Interaction with testers
[app.config] Match config properties with member variables
[app.scheduler] Scheduling batch jobs
[app.transfer] Simple file transfer strategy