[ ESL - Guidelines ]
Euphoria Standard Library (ESL) - Steps for file creation
Practical steps for creating a new module
Status of this topic : under discussion
Some points contradict each other.
- If possible, we should use existing modules from well established
languages such as C, Perl, Java, or Python as a model :
What routines do they contain? What parameters do the routines have?
- A specification is written. It contains the names and the pupose of the
routines and constants in the module.
- The specification is discussed in the project group, and might be
- One or more persons write the code for the module.
- The code is discussed in the project group, and might be changed.
- The User Guide should be written by people not involved in writing the
The User Guide is written in English. If it is not written by a native
English speaker, at least a native English speaker must "polish"
it before it will be released.
( Q: "What is the most frequently spoken language on earth?"
-- A: "Bad English." :-) )
- Someone who did not write the code (or better 2 persons? **), checks the
code whether it meets the specification.
- One person writes the docs, code, and tests suggested while writing the
code (which should be kept!). A second person reviews the docs and writes
some more tests from that, then reviews the code and where appropriate
writes a few more tests.
- The code review should be done by all participants.
- 2 or more people should check whether the code meets the specification
before every release or maybe we should just have a core group of people
who's job it is to make sure everything works properly and documented before release.
- Before every official release, there will be an alpha and/or beta release.
- Each release of a module will contain its version number.