Gastero Prod

  • Aller au menu
  • Aller au contenu
  • Aller au pied de page
  • Accueil
  • Blog
  • Photos
  • Liens
  • Lifestream

Mes conventions de codage

Date de publication
1/août
2008
Tags
CSS, développement, informatique, JavaScript

Oncle Tom m’a envoyé en douce il y a quelques jours une patate chaude en m’invitant à vous parler de mes conventions de codage. Vaste sujet, et surtout très vite trollesque, de quoi se régaler.

J’avais commencé à mettre le sujet en perspective avec un bref historique de mon expérience du développement informatique, mais ce qui devait être bref s’est révélé plutôt étoffé, donc c’est devenu un article à part entière sur mes aventures informatiques, et il y a tellement à dire que je ne l’ai pas fini... bref, passons tout de suite au cœur du sujet !

En fait, au risque de décevoir, j’ai plus des habitudes que des conventions strictes de codage, et même si j’ai des préférences personnelles, j’essaie en général de m’en tenir aux conventions qui me sont dictées par les projets auxquels je participe.

Après quelques projets sur lesquels j’étais plutôt isolé, comme phpMyChat, et des discussions sur les newsgroups fciwap puis fclp, ma première grosse expérience en matière de conventions de codage est venue avec PEAR1. Des discussions interminables et passionnées2 ont eu lieu sur les mailing-lists du projet lors de l’élaboration des conventions de codage, à laquelle j’ai participé fin 2001. Il était notamment question du choix d’espaces ou tabulations pour l’indentation du code3 ou du positionnement des accolades...

J’approuve au final le choix d’espaces pour les indentations, mais j’étais auparavant plutôt habitué aux tabulations, tout simplement parce que les éditeurs que j’utilisais à l’époque ne savaient pas gérer ces espaces lors de l’utilisation de la touche de tabulation, et surtout que je ne me préoccupais pas du rendu dans un autre éditeur, étant le seul à travailler sur mes projets. Je ne retrouve malheureusement pas l’exemple qui avait fini par convaincre presque tout le monde — dont moi — que les espaces étaient la meilleure solution.

Après, entre 2 et 4 espaces, je trouve que 2 espaces évitent d’avoir trop de décalage quand on a beaucoup de niveaux imbriqués, tout en préservant une bonne lisibilité. « C’est mon choix ».

Quoi qu’il en soit, il ne faut pas oublier non plus que ces conventions de codage sont comme toutes les bonnes pratiques, elles s’enrichissent au fur et à mesure des expériences, et elles évoluent toujours petit à petit, par ajustements successifs.

Côté PHP, donc, j’étais plutôt utilisateur des conventions de PEAR, mais comme je l’ai indiqué plus tôt, j’adopte systématiquement les conventions déjà en place sur les projets auxquels je participe, donc je m’intéresse maintenant à celles de symfony.

Pour le Javascript, rien de bien original, j’utilise grosso modo les mêmes qu’Oncle Tom, mais pour les CSS, je reste basique, pas d’indentation selon la cascade, et un ordre logique plutôt qu’alphabétique.

Bon, la patate est encore chaude bien que passée entre de nombreuses mains, je la refile vite fait à Oliv même s’il a fait un rapide commentaire chez Oncle Tom, NiCoS histoire d’avoir l’avis d’un fan de Django et Clochix !

Notes

[1] Pour ceux qui ne connaissent pas, PEAR est un entrepôt de classes — et non réellement un framework, même si ce terme est plus attractif — PHP répondant aux problématiques les plus courantes des développements Web.

[2] Oui, OK, trollesques, on peut le dire...

[3] Certains ont même proposer de mélanger tabulations et espaces !

Commentaires

Commenter ce billet

RSS

Commentaires déjà déposés

  • 1er août 2008 à 09h49
    Commentaire de NiCoS

    Je te déteste, me faire ça le jour de mes vacances... pfff ça attendra mon retour na !

    Répondre à ce message

    • 1er août 2008 à 10h23
      Commentaire de Nicolas Hoizey

      Quelle idée de partir en vacances, aussi !!! :-p

      Répondre à ce message

      • 16 août 2008 à 22h17
        Commentaire de NiCoS

        Voilà, c’est fait :-)

        Répondre à ce message

Partager

Pour faire un lien vers cet article, vous pouvez utiliser soit son URL canonique soit son URL courte :

http://gasteroprod.com/a734

Billets avec les mêmes tags

  • CSS : on reprend tout à zéro !
  • Open XML Translator : Clever Age réalise pour Microsoft Corp. un plugin permettant à Word 2007 d’utiliser le format OpenDocument (ODF) d’OpenOffice
  • Comment définir dans jQuery ses propres filtres de sélection
  • Un menu de navigation toujours visible

Derniers billets

  • Faut-il continuer à supporter Internet Explorer 6 ?

    Article initialement publié dans le blog de Clever Age.

    On ne va pas ergoter sans fin, tout le monde doit maintenant savoir que Internet Explorer 6 — IE6 pour les intimes — est un navigateur obsolète et dangereux. Et pourtant, certains continuent à l’utiliser. Faut-il les en dissuader, refuser de leur fournir son support, aller même jusqu’à leur empêcher l’accès, ou faut-il continuer à supporter (les faiblesses de) ce navigateur ?

    Date de publication
    22/juillet
    2010
    Tags
    Clever Age, Internet Explorer, standards
  • Les inscriptions à Paris Web 2010 sont ouvertes !

    Paris Web 2010, c’est la cinquième édition de ce rendez-vous français annuel, devenu incontournable, pour se tenir informé des bonnes pratiques de développement Web. Go go go !

    Date de publication
    2/juillet
    2010
    Tags
    Paris Web, qualité, standards
  • Faciliter la reprise de tweets (les retweets) à l’ancienne sur Twitter

    Même si Twitter a mis en place depuis maintenant un certain temps un mécanisme natif de retweets1, je préfère souvent continuer à utiliser les « RT » traditionnels, qui laissent la possibilité de commenter le tweet initial, ce que ne permet pas le retweet officiel. Une règle qui me paraît essentielle pour faciliter le retweet à l’ancienne, c’est de prévoir une taille de tweet suffisamment faible pour que le retweeteur voit son travail facilité, surtout si le tweet initial ne contient que très peu de mots inutiles.

    Date de publication
    14/juin
    2010
    Tags
    Twitter

Derniers commentaires

  • R03ER7 sur Le Jailbreak de l’iPhone ou de l’iPod Touch est-il légal ? : « Jailbreaker ne veut pas dire voler » mais plutôt « Permettre l’installation d’applications quand (...)

  • Sur Citation d’Oscar Wilde : sauf qu’il me semble qu’en vrai c’est une phrase de A de St Exupery !

  • Scandale sur Afficher les favicon dans la barre personnelle de Firefox sous Mac OS : Pour ceux qui, comme moi, manquent de place dans leur barre personnelle, j’ai aussi ajouté le (...)

  • Scandale sur Afficher les favicon dans la barre personnelle de Firefox sous Mac OS : merci pour le tuyau, ça marche. manque juste dans le tutoriel le chemin ou mettre le fichier, (...)

  • Nicolas Steinmetz sur Faut-il continuer à supporter Internet Explorer 6 ? : Parce que certaines entreprises sont encore sous WinNT / Win2000 à cause d’applications métiers ? (...)

  • ThierryD sur Prendre des éclairs (d’orage) en photo : Bonjour, Je me permet d’intervenir dans ce post pour vous faire part de ma technique pour (...)

  • ventrea sur Backup d’un Mac sur un NAS facile et sans bidouille, c’est possible ? : Time machine est pris en chagre par les dernières versions de firmware sur les nas Qnap (...)

  • Sur Une sauvegarde de fichiers en ligne très simple pour pas cher : Oui, j’ai le même genre et c’est vraiment pratique :) : https://www.axalot.fr

  • Sur Google Chrome sur Mac, bilan mitigé : > Pas de barre de titre, donc je ne connais pas le nom de la page dès que j’ai plus de 5 onglets (...)

  • Maurice sur Backup d’un Mac sur un NAS facile et sans bidouille, c’est possible ? : Par contre, je ne pense pas que ça résolve le problème de performance lorsque la taille du backup (...)

Nuage des tags les plus fréquents

  1. 3D
  2. 404
  3. accessibilité
  4. agenda
  5. Ajax
  6. animal
  7. animation
  8. Apple
  9. bande dessinée
  10. blog
  11. Blogmarks
  12. Blu-Ray
  13. bookmarks
  14. Canon
  15. cinéma
  16. citation
  17. Clever Age
  18. client riche
  19. concert
  20. couleur
  21. création
  22. CSS
  23. Daft Punk
  24. développement
  25. design
  26. dessin animé
  27. DotClear
  28. e-commerce
  29. ergonomie
  30. FeedBurner
  31. film
  32. Firefox
  33. Flickr
  34. fun
  35. Gastero Prod
  36. Google
  37. Greasemonkey
  38. hébergement
  39. HD
  40. humour
  41. hype
  42. IBM
  43. image
  44. informatique
  45. Internet
  46. iPhone
  47. JavaScript
  48. jeux
  49. jQuery
  50. Les Nuls
  51. Linux
  52. littérature
  53. livre
  54. logiciel
  55. logiciel libre
  56. loisirs
  57. Mac
  58. macro
  59. Microsoft
  60. moi
  61. Mozilla
  62. musique
  63. NetBook
  64. ordinateur
  65. oups
  66. photo
  67. PHP
  68. phpHeaven
  69. phpMyChat
  70. PicLens
  71. presse
  72. publicité
  73. recherche
  74. RewriteRule
  75. RSS
  76. sémantique
  77. SEO
  78. société
  79. Sony
  80. SPIP
  81. standards
  82. tag
  83. télévision
  84. vidéo
  85. Web 2.0
  86. Windows
  87. Yahoo !

A propos

L'auteur

Dans la vie professionnelle, co fondateur et Directeur Technique du cabinet de conseil nouvelles technos Clever Age, et dans la vie extra-professionnelle, créateur et animateur de Gastero Prod, flickRate et Ergothon, responsable technique de Marketing Planet et d’autres sites web, passionné d’Internet, de cinéma, de littérature, de musique ...

L'outil
Ce site est réalisé avec le logiciel libre de gestion de contenus Web SPIP en version 2.1.2 SVN [16020]

Identité 2.0

Vous pourrez aussi me trouver sur ces différentes communautés en ligne :

Réseaux sociaux
Diigo, Facebook, LinkedIn, Twitter
Photo
deviantART, Flickr, JPG Magazine, RedBubble
Geek stuff
GitHub, Ohloh, Userscripts.org
Autres
La musique sur Last.fm, Les livres sur Goodreads

Blogoliste

Proches
  • Jacqueline Oud
  • Marron show
  • Glagla Dot Org
  • Cédric Hoizey
Relations
  • Chez Xavier - Thoughts
  • La Case de l’Oncle Tom
  • Maître shteshitsu
  • Prendre un Café
  • Un Electron Libre...
Autres
  • Clever Age
  • Marketing Planet
Creative Commons License

Sauf mention explicite, tous les contenus de ce site sont la propriété de Nicolas Hoizey, et sont sous licence Creative Commons « Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique » version 2.0 adaptée à la France.