jeudi 17 avril 2008
Conventions de codage pour AS3
Actionscript/Flash/Flex - Lien permanent
Depuis que notre meilleur ami Adobe se met à l'Open Source, ça rigole plus. Voici donc une page très intéressante qui regroupe tout un tas de conventions et bonnes pratique pour coder en Actionscript 3. A lire bien attentivement et à garder sous le coude ensuite pour tout développeur digne de ce nom :)
EDIT : Comme le précise Tek dans les commentaires, il s'agit de conventions spécifiques pour le SDK Flex, mais qui peuvent vous inspirer comme "bonnes pratiques" dans vos projets.
Commentaires
Attention ce ne sont pas des conventions d'écriture Actionscript 3 mais seulement celles utilisées par Adobe pour écrire le SDK Flex mises sur le papier et imposées aux utilisateurs souhaitant soumettre du code destiné à être intégré au SDK Flex.
Pour avoir parcouru le document et être assez attaché aux conventions d'écriture de code, je ne conseille pas de suivre ces conventions dans vos propres projets.
Par contre, effectivement c'est plutôt une bonne idée d'uniformiser les conventions d'écriture du SDK Flex.
Pourquoi conseilles tu de ne pas suivre ces conventions ?
Peut-etre as tu un document similaire qui mettrais en evidence certaines differences ?
Certaines sont bonnes et beaucoup les utilisent déjà. C'est une bonne chose de les avoir adoptées pour le SDK Flex.
Les autres sont rarement conseillées ailleurs que dans ce document et ne trouvent pas de logique dans une utilisation quotidienne ailleurs que dans celle du design du SDK Flex.
Par exemple :
- les underscores dans le nommage des évènements
- les acronymes de plus de 2 lettres en majuscules
- le typage des tableaux dans les commentaires non compatibles avec l'utilisation historique qu'on en a toujours faite à destination de MTASC
- ne pas utiliser les apostrophes pour délimiter les chaînes
Mais surtout le formatage imposé du code qui ne se justifie pas, tout en passant à côté de l'essentiel au niveau du formatage du code nécessaire à une bonne lisibilité. Comme de conseiller de mettre les accolades toujours en début de lignes et de ne jamais les faire se suivre.
Ce sont des règles d'écritures à destination du SDK, pas des conventions. Il ne faut pas que les devs les prennent pour conventions.
Pour répondre à ta question, tu peux trouver des pistes chez Microsoft, les règles sont en général justifiées : http://msdn2.microsoft.com/en-us/li...
Ou chez SUN pour Java : http://java.sun.com/docs/codeconv/h...
Par exemple cette règle d'écriture est très discutable : http://joshua.almirun.com/tech/ria/...
Le gars s'enflamme en disant que ce n'est pas lisible quand on revient à la ligne. Mais il ne justifie rien, il dit juste ça parce que ça sort de ses habitudes.
Mais la réalité c'est qu'on peut très bien justifier que le code est bien plus lisible en mettant toujours les accolades en début de ligne quand justement les accolades sont toutes alignées par rapport à l'ouverture de la déclaration de la fonction pour mieux délimiter les ouvertures et fermetures de déclaration. Quand on me l'a justifié intelligemment, j'ai changé de méthode d'écriture moi-même.
Effectivement ces conventions sont faites à la base pour le SDK Flex, mais pas mal de règles décrites sont pertinentes pour tout projet AS. Il ne s'agit donc pas de tout prendre au pied de la lettre mais ça peut tout de même servir de base.
Il s'agit donc effectivement de conventions pour le SDK Flex, et éventuellement de "bonnes pratiques" pour les autres projets, à savoir adapter selon ses besoins.
Ensuite chacun a ses préférences et certaines règles sont effectivement discutables, mais pour avoir déjà repris des codes sources totalement imbitables, je souhaite vivement qu'un maximum de développeurs AS se sensibilisent aux conventions de codage en général, et ce document est une bonne base de départ.
Entièrement d'accord avec toi Pablo.
Peut-être qu'une bonne idée serait de mettre sur le papier ce que chacun utilise comme habitudes d'écriture de code, de les justifier puis d'essayer de sortir les conventions les plus justes. Je m'y essaierais. J'ai déjà changé mes habitudes plusieurs fois en me laissant convaincre par les arguments d'autres codeurs.
C'est effectivement pour flex :)