Adept Open Source Library

This is a blog to provide in-depth information on the Adept open source library - the core of which is a Java object database component. In addition there is lots of Java code and solutions for many development problems.

http://marringtons.com

Friday, March 04, 2005

Adept Requirements

I developed the Adept library for my own learning and for my own uses. So I set the following goals for the project:
  • No compromises. I develop the software to my best ability without compromising quality. I've had my fill of working on projects where time and money overrule the principle need for good design and code.
  • Fully Documented. I provide ongoing full documentation as part of the code - line by line - and keep it up during updates and changes.
  • Full Unit Testing at all levels. Unit testing is a concept I've embraced, and I want to see how it fairs when fully implemented. See ;Unit Testing - Good For All in the Software Development Weblog for more details.
  • Generalise only when necessary. I believe that unless there's an immediate need for a generalised class, then it's better to make one specific to the problem. We should only consider generalisation when two or more classes need to share the same logic. See Code Generalisation - Do's and Don'ts in the Software Development Weblog for more details.
This means that when I see a weakness in my design, or a class or package can be extended to provide other needed functionality then I take the time to:
  • consider refactoring to generalize with superclasses or helpers;
  • design the change;
  • make the changes;
  • update calling code if needed;
  • add or update unit tests and;
  • update the documentation with examples.

0 Comments:

Post a Comment

<< Home