Dive the web

On ne surfe plus, on plonge!

Tips for best practices

I’ve been working in the Web industry for about 12 years. During these years, I started to read about best practices in web development. I found a lot of them useful, both to ensure a better quality to my work, but also to make it easier - and sometimes quicker. I’m not claiming to have the best solutions to everything, the following tips are just a few of the things I try to do when coding. Some apply to (X)HTML or CSS, others are more appropriate to PHP or even JavaScript. Some are valid when working in a team, others when working alone.

  • Follow conventions.

    This is valid both for team and solo work. When working on your personal projects, pick a style and stick to it. When working with a team, either agree with a coding style with the team or, if one is already chose, use it - even if it’s different than yours. It will make it easier for both you and your team members to understand your code.

  • Validate HTML and use semantically correct markup.

    HTML tags have a meaning. A <p> indicates a paragraph. A <ul> indicates a list. Valid HTML has meaning, both to humans and machines.

    Validating HTML may help you find errors in your code. Not just markup errors, but also display errors. Something that may look great in a browser may look terrible in another. And most of the time, you have to support more than one browser.

  • Comment your code

    This one will never be repeated enough. Commenting helps you and team members. In six month, you may not remember what you did today. Comment! Comment! Comment!

  • Don’t commit incomplete or buggy code

    Except on rare occasions, it’s better to never commit incomplete or buggy code when using a source control tool. Stuff that goes into the common repository is supposed to work.

  • Keep team members informed

    Communication is important. You refactoring code, you need to let team members know. Email is useful. Documentation is better. When you create a new library, let team members know about it. If they don’t know about it, they may create something that does pretty much the same thing. Time wasted.

  • Be consistent when indenting.

    This is good for whatever language you use. Consistency in indentation helps finding your way around your code. By indenting, you can quickly see blocks of code or remove unused blocks.

  • White space is your friend

    Yes, this goes with the consistency in indentation. But white space also means inserting white lines between statements or functions. But don’t overuse it. There’s no need to put 10 carriage returns between blocks of code.

  • Google too

    Yep, Google is your friend. Your best friend. If you have a problem, chances are, you’re not the first one. It’s probably documented on mailing lists or Stack Overflow. Google knows, Google remembers!

  • IRC channels

    It’s amazing who you may run into on an IRC. Lots of people hang around on those channels and may help you. If you ask nicely and respect the channel’s rules.

  • Use available tools: good IDE, debugger, Firefox addons.

    A good IDE will help you in may ways: auto-complete built-in functions, sometimes a built in debugger or direct access to your version control tools.

    Firefox has great addons such as Firebug, the web developer tool bar or the regular expression tester that could save you lots of headaches.

  • Check logs

    Logs may indicate problems. Apache logs, PHP logs… The information you may find in these logs may prove useful. But you need to learn how to read them!

  • PHP Errors

    In a development environment, set your php.ini’s error reporting to E_ALL and display_errors to ON. This can help tracking errors and solving problems. But make sure you change this when going online.

What are your tips? What techniques do you use to ensure the quality of your code?

Tags: , , , , ,
June 10, 2009 - 12:50 PM No Comments

Trac

Yes, I’ve done it. I’ve installed Trac this morning.

Simple goals:

  • manage our many projects
  • build a knowledge base
  • keep track of bug fixes and changes

I’ve been working for a while on a CMS that is largely built on the Zend Framework (PHP5, of course). And I’ve already corrected lots of stuff, but didn’t keep track of things properly. I really hope this helps :)

Next step: make all this work with SVN!

Tags: ,
May 28, 2009 - 2:25 PM No Comments

Ubuntu…

J’ai enfin fait le pas. J’ai installé Ubuntu 8 sur mon laptop au bureau. Au début, j’ai installé la version 64 bits pour me rendre compte qu’Eclipse fonctionne mieux avec la version 32 bits. Et puis, tout d’un coup, on décide de tester Zend Studio pour Eclipse (ah oui, ça nécessite Eclipse 3.3 - Europa). Je réinstalle Ubuntu en 32 bits. Maintenant, mon mail ne fonctionne plus correctement :(

Toutefois, comme on avait partitionné les disques, je n’ai perdu aucune donnée. Pas besoin de faire de backup. Gé-ni-al! Et c’est tellement moins long que d’installer un Windows.

Bon, maintenant, c’est SVN. Le plugin pour Eclipse ne fonctionne pas correctement. Après avoir cherché (merci Google), certaines personnes recommandent d’utiliser la version 1.2 plutôt que la version 1.4 du plugin. Donc, utiliser http://subclipse.tigris.org/update_1.2.x comme adresse pour le site de mise à jour.

L’installation de Zend Studio se fait très bien. Une fois que vous avez trouvé le guide d’installation (ce lien va ouvrir un PDF)… Évidement, Zend Studio n’est pas gratuit…

Toujours est-il que malgré les quelques petites difficultés, mes premiers pas avec Ubuntu me font vraiment plaisir. On trouve énormément d’informations sur le web, j’ai une bonne excuse pour ne pas tester sous IE (va falloir que j’installe une VM un jour)… Mon ordi boote à une vitesse très satisfaisante, j’ai une réponse ultra rapide lorsque je clique quelque part. Wow… je crois rêver.

Je vais quand même garder un Windows. À cause de Civilization.

Tags: , ,
July 3, 2008 - 9:09 AM Comment (1)

Hiérarchie

Moi qui adore les organigrammes, en voici deux particulièrement intéressants :

  1. Hiérarchie geeks
  2. Hiérarchie programmeurs
March 13, 2007 - 10:48 AM No Comments

Nouveau language

C’est dit, j’apprends le Valgol. Même s’il est encore peu utilisé de nos jours, je crois qu’il sera rapidement utilisé par beaucoup d’internautes (les skyblogueurs et les poissons rouges au moins).

Dans le même ordre d’idée, il y a aussi le langage Whitespace qui offre des solutions imbattables au niveau de la sécurité d’une application.

February 22, 2007 - 7:11 AM No Comments

Oups…

February 23, 2006 - 4:56 PM No Comments

Internet 2006

Tendances nouvelles technologies et internet 2006… pour connaître le futur.

Voir aussi Tendances 2006-2010

January 20, 2006 - 2:34 PM No Comments

Richtig Said Fred

January 19, 2006 - 10:44 PM No Comments

HP+Netscape

October 4, 2005 - 9:38 AM No Comments

Droit d’auteur

Hier avait lieu une journée sur le droit d’auteur. Organisée par divers groupes montréalais (le FACIL, le réseau Koumbit et le lab CMO si je ne me trompe pas).

[photopress:stallman_03Jul05.jpg,thumb,pp_empty]

J’ai eu la chance d’y participer en tant que membre de W3Québec. Rencontre de divers groupe, on a expliqué ce qu’était W3Qc, ce qu’on faisait etc…

Mais le point culminant fut la présentation de Richard Stallman sur le droit d’auteur. Selon Stallman, les utilisateurs devraient disposer de 4 libertés :

  • liberté 0 : utilisation
  • liberté 1 : modification pour mieux répondre aux besoins spécifiques de l’utilisateur
  • liberté 2 : aider le voisin, faire des copies et redistribuer les versions modifiées
  • liberté 3 : publier les modifications pour qu’elles bénéficient à tous

Stallman propose un modèle où le droit d’auteur expirerait après 10 ans. De toute manière, dit-il, après 3 ans la majorité des livres et logiciels sont désuets.

Les oeuvres pourraient aussi être classées dans 3 groupes:

  1. Oeuvres d’utilisation pratiques : dictionnaires, livres d’enseignements, livres de recettes et encyclopédies. Ces oeuvres devraient être libres.
  2. Oeuvres représentant la pensée de quelqu’un
  3. Oeuvres d’art ou de divertissement

Dans les deux derniers cas, établir une règle pour les droits d’auteurs est déjà plus délicat.

Je n’ai fait que résumer très sommairement une présentation qui dura un peu plus d’une heure et demie. Beaucoup de choses sont absentes et, surtout, vous n’avez pas M. Stallman devant vous - qui, soit dit en passant nous a fait sa présentation en français - ce qui rajoute beaucoup de piquant à ses propos.

July 4, 2005 - 8:49 AM No Comments

« Older Entries