mardi 26 février 2008

Pire que goto ?

Je ne pensais pas vraiment cela possible (même si, dans mon expérience, j'ai vu des morceaux de code dont la pertinence n'avait d'égal que la régularité avec laquelle ils ne fonctionnaient pas), mais j'ai trouvé une construction de code qui a le mérite d'être :

  • illisible
  • dangereuse
  • génératrice d'exceptions

Le tout, sans utiliser de goto.

Lire la suite

Tags: ,

mercredi 4 juillet 2007

"Just read the comments !"

Ideally, the title of this post would have been You've got a problem in your code? "Just read the comments!". But it was a bit too long for the layout of this blog.

If you work in an international team setup, it's always good to have some way to communicate. And since you are spending most of your time in your favorite IDE, browsing some code to find this small but irritating bug, you probably think that the best way to communicate about the code itself is to put some comments. You are right. But you have to write them in the team language.

Lire la suite

Tags:

mercredi 20 juin 2007

"Whitespaces are a waste of time - I swear"

As I see it, it seems that many programmers really think that white spaces use loads of processor power at compilation and maybe even more at runtime. That's the only way I can explain functions or methods definitions that contains so little white spaces. Which is quite a bad news if these functions or methods are several hundreds lines long - and you are trying to debug them.

Lire la suite

Tags:

jeudi 15 mars 2007

Refactoring - la remise à plat d'une architecture logicielle perturbée

Allez savoir pourquoi, je me suis pris d'affection pour Refactoring[1], le célèbre livre du non moins célèbre Martin Fowler. Cet ouvrage fait la part belle au bon sens et formalise les techniques de réécriture incrémentales du code, proposant ainsi des techniques permettant l'amélioration de l'architecture d'un logiciel.

Reste à tester la puissance de ces idées sur un projet réel. Je l'ai fait pour vous.

Notes

[1] Martin Fowler - Refactoring - Improving the Design of Existing Code, Addison Wesley, ISBN-13: 978-0201485677

Lire la suite

Tags:

mercredi 28 février 2007

Source code with character

La version Française de ce billet est ici.

While waiting tomorrow's ticket about the Liskov Substitution Principle, I make this wonderfull piece of code I recently found on the system I work on available to you. And I'm pretty sure that, like me, you'll have hard time to find any kind of justification for this.

Lire la suite

Tags:

mardi 27 février 2007

J'ai cassé Visual C++ .Net 2005 Express Edition

Des fois, il ne faut pas trop demander à nos outils. Lorsque je suis tombé sur de billet de The Coding Horror, qui nous éclaire sur les difficultés que peuvent rencontrer certain managers lorsqu'ils cherchent des programmeurs sachant programmer (visiblement, ils sont loin de représenter la majorité des programmeurs), je me suis dit, "moi aussi je veux coder mon propre FizzBuzz !"

Lire la suite

Tags: ,

vendredi 2 février 2007

Assertions illogiques

Les assertions sont un mécanisme puissant et permettent de contrôler les valeurs des données, de manière à effectuer une vérification dynamique de leur cohérence. Elles sont toutefois difficiles à utiliser - de par leur nature - et de fait, se retrouvent souvent être utilisées d’une mauvaise manière.

Lire la suite

Tags: , ,

vendredi 3 novembre 2006

La Boucle Infinie Qui En Fait N’Est Exécutée Qu’Une Fois

Il est des constructions que certains pensent légitimes, et qui pourtant ne le sont pas. On les retrouve de temps en temps dans le code source d’un projet, et il est évident que la lecture n’en est pas facilitée. L’une de des constructions est la terrible Boucle Infinie Qui En Fait N’Est Exécutée Qu’Une Fois.

Lire la suite

Tags:

mercredi 11 octobre 2006

Un code qui ne manque pas de caractère...

The English version of this ticket is here.

En attendant le billet de demain sur le principe de substitution de Liskov, je vous réserve la primeur d'un morceau de code récemment trouvé dans le système sur lequel je travaille. Et je vous met au défi de lui trouver une justification.

Lire la suite

Tags: ,

dimanche 30 juillet 2006

Encore YAGNI ?

Un précédent billet expliquait YAGNI et ses raisons d'être, en précisant la nécessité d'être rigoureux et discipliné. Voici venu le temps pour moi d'avouer quelque chose : je ne suis pas encore assez rigoureux et discipliné.

Lire la suite

Tags:

vendredi 21 juillet 2006

Je documente mon code !

Enfin, j'essaie...

Lire la suite

Tags: , ,