Dans le style du code C donné, on pourrait imaginer que dans le cours du développement d'un logiciel, on ait à un moment donné créé une procédure avec un paramètre var :
1 2 3 4
| procedure Incrémente(var a:Integer);
begin
a := a + 1
end; |
Puis qu'un autre développeur après vous, ou vous même, sans analyser en détail le code, s'aperçoive qu'il serait plus judicieux d'implémenter une fonction, en ajoutant juste une clause
Result := à la fin pour ne pas revoir tout le code, et
en oubliant d'enlever le var :
1 2 3 4 5
| function Incrémente(var a:Integer) : Integer;
begin
a := a + 1;
Result := a;
end; |
Je vous laisse imaginer le mur dans lequel on fonce, ici. Bien évidemment ce code est trivial et ne serait de toute façon pas codé comme ça, mais c'est une maquette pour illustrer mon idée.
Si on se dit "ça ne m'arriverait jamais", qu'on s'imagine dans un projet de plusieurs centaines de procédures/méthodes manipulant pour certaines une dizaine de paramètres... chouette un bug, une variable qui se modifie inexplicablement, justement je n'avais rien à faire ce week-end !
Partager