No description
Find a file
2022-03-04 14:23:10 +01:00
README.md Initial commit 2022-03-04 14:23:10 +01:00

Guide de développement pour Khaganat

Ce manuel est rédigé collaborativement en Markdown à ladresse suivante : #TBD

Sources et inspirations

Très inspiré par et basé sur le « Gamemakin UE4 Style Guide » disponible sur GitHub.

Godot propose quelques conseils sur la façon de travailler pour son propre projet dans une section Les meilleures pratiques ainsi quun Guide de style et un Bonnes pratiques pour les contributeurs au moteur destinés à celles qui souhaitent contribuer au développement du moteur lui-même.

Principes de base

Un manuel vivant

Ce manuel a vocation à rendre la contribution plus efficace, Khaganat est ouvert à la discussion et possède un canal XMPP où on peut échanger sur tout cela : https://khaganat.net/irc/.

Respectez la loi

Khaganat respecte la loi française et vous demande de faire de même, donc merci de ne rien introduire dillégal dans le projet par vos actions. En particulier :

  • ne réemployez pas le travail dautrui si vous nen avez pas reçu lautorisation explicite
  • respectez les licences dusage des éléments que vous souhaitez copier depuis un autre projet, en particulier si lattribution est demandée (comme avec les licences CC BY)
  • avant dy apporter des éléments externes, vérifiez-en la compatibilité avec les licences du projet Khaganat

Terminologie

Identifiants

Un Identifiant est ce quon appelle communément un « nom » : celui dun objet 3D, dun fichier de son, dun répertoire, dune variable ou dun script…

Caractères autorisés dans les identifiants

Dans un Identifiant, jamais on nutilise un de ces caractères :

  • les espaces
  • les barres obliques ou barres obliques inverses \, /
  • des symboles du genre #!@$%
  • des caractères Unicode

Un Identifiant ne doit donc comprendre que les caractères suivants :

  • ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • abcdefghijklmnopqrstuvwxyz
  • 1234567890
  • _ (avec parcimonie)

Pour résumer, un Identifiant doit pouvoir répondre à lexpression régulière [A-Za-z0-9_]+)

Ces règles permettent la plus grande compatibilité entre systèmes et pays.

Lusage des casses

Il y a plusieurs façon décrire les Identifiants, dont voici les plus courants (dénommés par leurs désignation en anglais, conventionnelle).

PascalCase

On met une majuscule à chaque mot et on supprime les espaces : Coffre avec poignees devient CoffreAvecPoignees.

camelCase

Cest similaire au PascalCase, sauf que la première lettre du premier mot est en minuscule : Coffre avec poignees devient coffreAvecPoignees.

Plus de précisions sur Wikipédia.

snake_case

Les espaces sont remplacés par des underscores « _ » : Coffre avec poignees devient coffre_avec_poignees

Bien que par convention, on puisse choisir de mettre ou pas des majuscules aux mots, nous retenons lidée de tout mettre en minuscule pour nos usages du snake_case. Coffre avec poignees devient donc coffre_avec_poignees

Plus de précisions sur Wikipédia.

Variables / Propriétés

Les termes Variable et Propriété sont généralement interchangeables, mais si ils sont utilisés dans le même contexte, cela signifie plus précisément :

  • pour Propriété que cela désigne une variable dans une classe.
  • pour Variable, cela désigne généralement un argument de fonction ou une variable locale dans une fonction. Dans une classe, cela peut indiquer un statut à préciser/ définir.

License

CC BY SA Khaganat - 2022