Contributions to this library should be conform to the coding style rules stated in the books Object-Oriented Software Construction, 2nd edition and Eiffel, the language, 2nd printing. These rules also can be obtained here as a PDF document.
The features of all classes should always belong to one of the following feature clause categories, except in very rare cases:
| Name | Description |
| Initialization | Commands used to set up the contents of objects; usually they are creation procedures. This category should be exported to NONE in order to avoid accidental calling of creation features without the createion instruction (!! or create). |
| Access | Queries used to obtain elements in the structure. |
| Measurement | Queries pertaining to the size of the structure. |
| Comparison | Features (usually queries) which compare elements according to various order relations. |
| Status report | Queries used to determine general properties of the structure, including options. |
| Status setting | Procedures which change general properties, in particular options (which can then be queried through features of the preceding category). |
| Cursor movement | For structures which maintain a "current position" marked by a cursor, procedures which change that position. |
| Element change | Procedures which change elements of the structure, or add elements to it. |
| Removal | Commands which remove elements from the structure. |
| Resizing | Commands which change the size allocated to the structure. |
| Transformation | Commands which may transform the overall organization of the structure. |
| Conversion | Features which produce different structures made of some or all of the same elements. |
| Duplication | Features which produce copies of the structure. |
| Basic operations | Features implementing various standard mechanisms (such as arithmetic operations). |
| Output | Commands which produce output to the user or to an external device (such as a file or a network). |
| Input | Commands which fetch input from the user or from an external device (such as a file or a network). |
| Miscellaneous | Anything that does not fit in the other categories (there is currently no example of this category in the Base libraries). |
| Obsolete | Features declared obsolete, kept only for compatibility with previous versions. Such features will not appear in the flat-short form. |
| Inapplicable | Features inherited from ancestors where they were exported to clients, but made secret or restrictively exported in the current class. Such features will not appear in the flat-short form. |
| Implementation | Secret or restrictively exported features, used only for the implementation of the current class. Such features will not appear in the flat-short form. |