Top Ten Tools every Developer Needs

Wednesday, July 2, 2008 by Matt Warman

In my recent post about 2 popular Java IDEs, I thought about the tools every developer should have when developing code. I am a Java guy, but these tools are for any software application developer. Look into using these tools if you don’t have them.

1. A project builder – A Tool like ant or Maven standardizes you project files, and makes it easier the share by removing project dependencies.
2. A code repository – tools like subversion, mercurial, or clear case do much more than hold code. The ability to branch versions, check differences between versions, and collaboration between developers makes a code repository essential.
3. A Testing Framework – tools like JUnit and Cactus allow developers to write testing libraries to ensure that their code changes don’t introduce new bugs.
4. A database client – Most applications use a database as their backend data store, and few of my clients have dedicated DBAs to administer them. Software application developers need access to create, view, and update the data and tables.
5. An application server – It is a must for Internet application development, but it is also becoming a part of desktop application development too. Technologies like JavaFX and Web Start are making desktop applications and applets viable again. Open source application servers like Glassfish, Tomcat, or JBoss are free viable competitors to WebSphere and WebLogic.
6. An Object Relational Management (ORM) Framework – Many projects are using Object Oriented Principles (OOP) and Databases. Frameworks like Hibernate take the pain out creating Data Access Objects (DAO). ORM tools have the advantage updating the objects when the data model changes.
7. Diagram Tools - You may work on a project where UML tools are used. Enterprise application developers especially like this tool. They can take their UML designs and create code from it, or reverse engineer existing code to create class diagrams for architects and documentation.
8. Code Documentation – Languages like Java have code documentation feature that pulls comments the application to describe their use. Application developers need tools to help fill in the documentation, and to generate the documentation automatically.
9. A Refactoring Tool – Application Developers often write code without requirements, or rapidly changing requirements. Refactoring tools let developer rearrange their code without forgetting to update dependencies.  For example, you may need to rename a package. If you do this by hand, you have to go to every class that references any class in that package. By using a refactoring tool, you are speeding up development, and removing an obvious failure point.
10. An Integrated Development Environment – NetBeans and Eclipse are the 2 popular IDEs. They are both open source, support multiple languages, and most importantly, integrate all the other tools in this list.
Is your tool not on the list? Let me know.

Comments for Top Ten Tools every Developer Needs

Leave a comment





Captcha