A titre indicatif pour ceux & celles qui n'étaient pas à l'OpentYaronet Lyon, où j'expliquais ma technique de programmation : des indées géniales, une analyse beton, une préparation d'enfer, un squelette de code, mais rien dedans...

Voilà donc en avant première le fichier .txt joint avec Scriptorium... n'hésitez pas à rire, c'est pas fait pour, mais ça peut

/*---[Charte de modification et d'adaptation du source join]----------------------------------------------*/
/* La présente charte est acceptée dès qu'un programmeur diffuse un code source directement issus de celui*/
/* join afin de faciliter la linéarité des mises à jour. */
/* Elle ne considère que la mise en forme des programmes, laissant au programmeur l'entière responsabiltié*/
/* des astuces de programmation utilisées. */
/*--------------------------------------------------------------------------------------------------------*/
1. Des commentaires :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¤ Des commentaires doivent être faits le plus possible afin de rendre le source lisible.
¤ Distance entre l'extreme gauche et les commentaires de description : 30 tabulations suivies de //.
¤ Commentaires de fonction ou de bloc important d'instructions :
- Suivre l'exemple suivant :
/*---[TitreDeFonction]------------------------------------------------------------------------------------*/
/* Commentaires : */
/* Description */
/* Spécifications internes */
/* Spécifications externes */
/* Paramètres */
/* Donnée retournée */
/* Pré-requis */
/* Bugs connus */
/* Historique & choses à prévoir */
/*--------------------------------------------------------------------------------------------------------*/
2. Des variables :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¤ Les variables sont en langue de Shakespeare (Anglais).
¤ La formation des variables se fait
- par concaténation des mots la décrivant
- en mettant une majuscule à chaque début de ces mots, même au premier
- sans utilisation de caractère souligné ("_")
¤ Exemple : ThisIsMyNewVariable
¤ Les fonctions suivent cette reglementation.
3. Des blocs d'instruction :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¤ La définition des blocs d'intruction se fait par les accolades, même lorsqu'elles ne sont pas obligatoires.
¤ L'ouverture/fermeture du bloc d'instruction se fait dans le même alignement que la déclaration de sutructure.
¤ De plus, elle se fait à la ligne.
¤ Le bloc d'instruction en lui même est à une tabulation des accolades.
¤ Exemple :
void _main(void)
{
SetMenu();
switch(Result)
{
case 0:
{
ActivateAreaOfText();
break;
}
}
}
4. Des traductions :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Dès la délivrance de la source, les commentaires devront être traduits dans l'intégralité, suivant deux normes (que le programmeur choisira une fois pour toute) :
- deux sources différentes, une en anglais, l'autre en français
- un code source avec duplication des commentaires.
Dans le cas ou le projet est repris par une personne ne parlant pas le français :
- les commentaires en français pourront être omis et rédigés ultérieurement par une tierce personne.
5. De l'utilisation de chaînes de caractères :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Il est demandé aux programmeurs de séparere les variables de type chaîne (Strings) qu'elle qu'elle soient (type tableau, String pure, liste ou autre), du reste du programme afin de faciliter les traductions et les portages.
6. De la numérotation de la version :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Deux cas se présentent :
¤ Le programme est un programme entierement nouveau :
- Le programmeur est totalement libre de décider d'une nouvelle numérotation
¤ Le programme est une adaptation ou une évolution du programme présent :
- On utilise la présente norme :
XX.XX-XXX.XX
^ ^ ^ ^
Version courante ---------------+ | | |
Sous numéro de version ------------+ | |
Version de la ROM attendue -----------+ |
Version d'HW attendue --------------------+
- Exemples :
Version 2 rev 4 pour ROM 2.03 et HW 2 : 2.4-203.2
Version 2 rev 4 pour ROM 2.xx et HW 2 : 2.4-2.2
Version 2 rev 4 pour ROM 2.03 n'importe quel HW : 2.4-2.0
Version 2 rev 4 pour tout materiel : 2.4