|
Use Standardization to Ensure Successful Java Application Development
by Keld H. Hansen
One of the most important keys to building successful applications is to start with a solid technical foundation. This article provides a list of topics you should consider for any project developing a new application. None of them relates to any specific type of application or business area, so you can use the solutions presented here over and over, and gradually refining them as you gain more experience.
Though any application project uses one or more computer languages, this
article is about Java and so uses examples and illustrations from the Java world.
It's important, however, to note that they are not Java-secific:
- Tool Setup
- Coding Standards
- Naming Standards
- Error Handling
- Logging
- Application Parameters
- Unit Testing
- Bug Tracking
Learning how to establish standards for each of them helps you lay a solid foundation for your application development, thereby ensuring a successful application.
Tool Setup
Most tools have a "Preferences" page where you can setup the tools as you like. Use the same setup for all the developers on your team. Not only does this reduce problems, but it helps solve problems if they arise, since the knowledge about the setup is shared by all. Document the setup so it's easy to get new developers up to speed if the arrive later on in the project.
Coding Standards
When it comes to coding standards, any programmer will have their own preferences. Discussions can tend to be a bit religious, but the simple answer is to stick to Sun's
coding conventions. Ultimately, it's not that important which set of conventions you pick, but it's important that everyone sticks to the conventions you do pick. This facilitates code review and documentation in general.
Many development tools, Eclipse, for example, help enforce the use of a certain
standards. Ensure that all developers have their tools set up the same way.
Naming Standards
The importance of having naming standards is, unfortunately, often underestimated. Any item that has a name should be covered by a corresponding naming standard. In the Java world, you need names for classes, methods, variables, interfaces, packages, .jsp and .html files, stylesheets, script files, configuration files, etc. Naming standards should not only apply to the parts of the application itself but also to its test programs and build scripts.
Your application will probably use a database, so your naming standards should
also cover names for databases, tables, views, stored procedures, etc. When there's a
correspondence between a database item and a Java item (for instance, a column in a table and a member variable in a bean) try to use the same names wherever possible.
There are many reasons for instituting naming standards:
- Makes the application less complex and simpler to maintain.
- Makes it easy to pick the name for a new itemjust follow the standard!
- It's a great help in deducing a name when you're looking for an item.
- You can often deduce what an item is doing by looking at it's name.
- It simplifies documentation.
Like any other standard, naming standards should be documented for easy access
by the team's developers.
You might also want to consider making a dictionary of descriptions of all your business names and entities, and try to use the same names consistently when you
discuss the application and when you write documentation.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|