Jutil.org : programming as you know it is over

Table of Contents
Javadoc API

Coding Style
Compiling the code
How to contribute
Javadoc API
Mailing lists
Quality levels

Quality levels
Specification quality
Implementation quality
Quality levels

To be able to provide a library which can also be used when a certain level of quality is required, we label all classes and method using a quality label. We can then make releases with several levels of quality.

The names of the quality labels will be different minerals of carbon. Like programs are formed by combining instructions, minerals of carbon are formed with C atoms. Minerals with no structure (e.g. coal) have little value, as do programs with little structure, while perfectly structured C atoms form a diamond.

For a method, we define 2 quality labels:

  • Specification quality:
    • Informal
    • Structured
    • Formal
  • Implementation quality:
    • Unverified
    • Tested
    • Proven

The quality of a method is defined by the combination of its implementation and specification quality. Of course, the combination "Informal & Proven" is nonsense, as shown in the table below.

Unverified Tested Proven
Informal Coal ?
Structured ? ? ?
Formal ? ? Diamond

As you can see, the names haven't been filled in completely yet. A complete ordering would be nice for CVS, when a higher quality level is reached, code can be merged with the next branch. For now, we only have a single branch which represents 'coal', although about all code in it is 'formal & test'. When we've found a good way of organizing things branches will be added.