C'est pour ça qu'on à inventer svn / git et autres :)
Mais j'avoue que ça m'arrive aussi de faire ça, pour tester une autre implémentation, en gardant l'ancienne "au cas où" :aie:
Version imprimable
Quand le code fait plusieurs centaines de ligne et que tu as dedans des commentaires de type /* */ tu ne peut pas le commenter facilement.
En C cela m'arrive du coup de jouer avec un #if 0 pour obtenir le même résultat quand il n'y a pas de gestionnaire de version derrière le projet.
C'est pour ce genre de choses qu'un bon IDE est appréciable :)
par ex. ctrl K + ctrl C sous visual studio et ça commente tout, et ça gère les /* */ et autrs // qu'il y a dans la sélection
parfois tu as simplement envie de t'assurer que le code commenté compile toujours dans le futur.
Un exemple: dans une appli graphique, j'ai un bout de code de debuggage qui permet d'afficher un fil de fer avec les vecteurs orthogonaux à chaque point de contrôle. Quand j'active ça l'application rame comme un fou mais parfois j'en ai besoin pour tester une nouvelle features.
La mise en svn puis delete n'est pas une option: j'ai besoin occasionellement de le réactiver
La mise en commentaire me fera chier pour deux raison: c'est un gros gros bloc de commentaire à se tapper (et à lire pour voir si c'est du code commenté ou un commentaire informatif) et ca ne garantit pas que ca compilera dans le futur. Enfin, le futur dev devra savoir jusqu'ou il dois décommenter...
Une variable de debug serait une option plus propre, mais c'est du boulot de la rajouter et de ramener cette variable de config au fin fond de la méthode de dessin.
Le if(false) m'a pris 10 secondes à faire :mouarf:
Si le reste du code est propre, on peut se permettre ce genre de trick de temps en temps.
Le problème c'est si ça devient systématique; si on choisi la solution fainéant/crade à chaque fois qu'on touche au code, ça devient vite le bordel :)
pour rester sur le sujet :
dans les années 80, singer fabriquait des ordinateurs et, en voulant installer une console a distance, impossible de faire fonctionner. le code source de l'os était disponible et en plongeant dedans, il y avait un test
si 1 = 0 on continue, sinon on abandonne. l'anomalie remontée aux USA les a rendus heureux !!!
N'importe quoi l'image d'intro
j'aurais écrit
Code:
1
2
3
4 int length=0; for (int idx : array) length++; return length;
Et je suis sur qu'on pourra faire pire avec java 8 :)
Je viens de retrouver une classe utilitaire dans un framework proprio :
Pas sûr que ça me soit utile.Code:
1
2
3
4
5
6
7
8
9
10
11
12 package xxx.yyy.nometrage; public class MyUtils { protected static Map asMap(Object[] array){ //Code utile } protected static Object[]asArray(Map map){ //Code utile } //Pliens d'autres méthodes utiles }