Introduction

This section gives some information for developers who work on this library. We describe architecture, development tools, how we organize tests and documentation, …​

We follow some general principals to develop this tool:

  • Everything is test using the doc as test approach.

  • We avoid to write a value as String when we can extract it from code.

Principles

Extract from code

We try to extract the most things from the code. In consequence, when refering to a class or a method, we don’t write directly it’s name in the text but we use the java class or the method reference. We ensure that we can’t have a name that not exist in the code.

Extraction of class name and method name
final String className = Development.class.getSimpleName();
final String methodName = MethodReference.getName(Development::introduction);
String text = String .format("The method `%s` is a method of the class `%s`", methodName, className);

For more detail to get method name with reference, see: MethodReference documentation

Project organization

Package dependencies

The graph below shows dependencies between packages in the project.

Diagram