@Guillemouze :
Oui et non. Les conventions permettent de maintenir correctement un code quand on bosse à plusieurs dessus. Sinon ... c'est vite le chaos.
Il suffit d'aller se perdre dans quelques SVN bien pourri pour s'en rendre compte, l'un fait ci, l'autre fait ça ... aucune homogénéité, illisible, incompréhensible et giga-fastidieux quand on passe de l'écriture d'un dev à l'autre.
Dans mon équipe on switch entre Delphi, Php, Javascript, HTML et MySQL tout les codes sont écrit et indenté strictement pareil. ça reduit les temps de formation et d'explication par 10 avec les nouveaux.
exemple :
Delphi :
function TCore.DecXY(aX, aY: integer): TPoint;
PHP
1 2
| class TCore {
public function DecXY(aX, aY){... |
JavaScript
1 2 3 4 5
| var TCore = {
create: function(){
var __constructor = arguments;
var __implementation = {
DecXY : function(aX, aY){... |
L'EDI ne fait pas tout. Mets un marteau et un burin dans les mains d'un lambda ... il te fait un truc pourri. Mets les dans les mains d'un sculpteur professionnel, tu obtient une oeuvre d'art.
@Charly :
Cela s'appelle la notation "Dos de chameau" -> nomDeMaVariable
notation C -> variable_truc et CONSTANTE_BIDULE
Pour ce qui est de l'utilisation des verbes, adverbes et des adjectifs voici un exemple :
fonction -> Initialize
region -> Initialization
état (Initialization state set)-> istNotInitialized, istInitialization, istInitialized
control bool -> isInitialized, isNotInitialized (<- conjugué, est ou n'est pas initialisé )
appel d'evenement -> doInitialize
evenement -> TBeforeInitializeEvent, TInitializeEvent, TAfterInitializeEvent
message -> UMBeforeInitialize, UMInitialize, UMAfterInitialize
propriété evenement -> OnBeforeInitialize, OnInitialize, OnAfterInitialize
type class -> TInitializer
variable d'instance -> Initializer
divers -> InitializerCreator, InitializationSynchronizer, InitializeControler, InitializationGarbage etc.
par contre les fonctions et procedure ne sont pas conjugué (pas tout le temps) donc indicatif ... ça indique ce que ça fait très bien (en anglais sans le To
) !
incrementer (inc)
decrementer (dec)
deplacer (move)
copier (copy)
effacer (delete)
appliquerNoirEtBlanc (applyBlackAndWhite, applyBW )
inverserImage (invertPicture)
calculer (calc)
créer (create)
detruire (destroy)
compter (count)
empiler (push)
dépiler (pop)
écraser (erase)
les propriété sont plutot des noms :
élements (Items)
composants (Components)
chaines (Strings)
coordonnéeX (X)
coordonnéeY (Y)
hauteur (Height)
Longueur (Width)
Style (")
Typographie (Font)
Couleur (Color)
Haut (Top)
Bas (Bottom)
exception des propriété de control en lecture seule :
estEnHaut (property isOnUp: boolean index esUp read getStateBool)
estEnBas (property isOnDown: boolean index esDown read getStateBool)
Partager