Hello, Here is a proposal for Gnoga coding guidelines:
Version numbering: m.n with m major version number , n minor version number. -alpha is added on m.n when this version is created, to be used without any warranty. -beta is added on m.n when this version is enough mature to be tested. Then a letter is added on m.n when this version becomes a stable reference release (fully tested). The letter is incremented when fixes come. For instance : 1.2-alpha, 1.2-beta, 1.2a, 1.2b, 1.2c… Header: Several lines of fixed comments customized with the name of the unit, the creation date and the name of the author. Example: ... Purpose of the unit: Several line of comments indicating the purpose of the unit after header and before first declaration. Example: ... Coding style: Line length is limited to 120 characters. Ada keyword are in lower case. Ada entities are in mixed case with an underscore to separate words. Example: ... Getter and setter names are identical as Ada provides function for getters and procedure for setters. Example: ... Entity description is lines of comments below the entity declaration. Gnatdoc annotations are recommended, see http://docs.adacore.com/gnatdoc-docs/users_guide/_build/html/gnatdoc.html#annotating-source-files. Example: ... Ada contracts Pre, Post and type invariant are recommended. Example: ... Ada type entity is ending with "_Type" for a common type, "_Access" for an simple access type, "_Class" for an access to class type. Example: ... Functions and procedures must be declared before coding the body. Use clause is restricted to minimum use, preferably local use to functions or procedures. Use type clause is recommended. Code reformat is recommended before commit to Gnoga repository. Example: ... Syntax check is mandatory before commit to Gnoga repository. Example: ... For debug builds, most warnings, runtime verifications and exception tracebacks are recommended. Example: ... For release builds, runtime verifications disabled and optimisations enabled are recommended. Example: ... Implementation must target Linux, macOS and Windows platform. Feel free to give your feedback, Pascal. http://blady.pagesperso-orange.fr ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Gnoga-list mailing list Gnoga-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gnoga-list