We provide dedicated on-site
Information Technology professional support
to the intelligence community, including large private
contractors and government agencies
JavaSmart
Code Grade
Technology today is a lot different than technology 20 years ago. The complexity, quality, security, timeframes, features and competition creates an environment of arguments, aggressive timelines, and sleepless nights. At the core of these issues is trust. Do you trust your code? Many look at trust after the application was built, and they base it on test results and customer feedback.
Establishing trust at the end of a development cycle is a double-edged sword. It might work; it might not.
That's why we developed JavaSmart. JavaSmart lets you establish trust during design and development. JavaSmart does this by providing transparency into the code base, including code grades, metrics, complete JUnit tests and the right kind of coverage.
Transparency
JavaSmart provides insight into code for both technical and non-technical executives. You do not have to understand programming or design concepts to understand code quality; you just need to understand a few basic ideas.
- Unit testing is crucial to code, and the two go hand in hand. Unit testing is the process of testing the smallest unit of code while the code is being written. Why?
- The code is still fresh in the developer's mindset so if there is a mistake, it is easier and cheaper to fix
- Unit testing identifies design flaws by testing the logic of the unit of code. Poor logic is a result of poor design
- Code will always change because of new features, upgrades, etc. Any time 1 line of code is changed, there is a ripple effect throughout the entire code base. Having a well designed set of unit tests will immediately pinpoint other areas that were 'broken' as a result of the change.
- Unit testing, if done correctly, is neither hard to do nor complicated
- Metrics are important. The right metrics are crucial, and understanding them even more important. There are hundreds of metrics to choose from. JavaSmart uses the ones most important to developing quality code. These metrics are further explained here.
- Proof. By this we mean the ability to prove that unit tests were created, that they tested the right stuff, and that they correspond to the metrics mentioned above. The proof is in the coverage technique. JavaSmart provides both path and branch coverage, two well-known metrics.
