J’aime le Java, inutile de passer par quatre chemins, j’aime cette technologie, la syntaxe est agréable, il existe beaucoup de développeurs, de librairies, d’outil sympa. On peut faire des trucs vachement cool comme charger des classes en ‘live’, utiliser l’introspection pour voire ce que contient les objets. Je passe sur d’autres trucs comme le fait que les programmes sont multi-plateformes et qu’on peut lancer ça via le web grâce à webstart.
En fait j’aimerai surtout parler de la manière de développer en Java, car bien développer n’est vraiment pas facile, il faut organiser son code, bien utiliser la ‘conception objet’. On a toujours des trucs à apprendre, j’avais déjà pris l’habitude de bien organiser mon code : faire des petites méthodes qui ne font pas grand choses mais qui le fond bien ; dans ces petites méthodes, les découper en quelques blocs de 4, 5 instuctions maximum séparées par un commentaire simple et compréhensible de quelques mots et une ligne vide.
Les commentaires sont vraiment importants, il faut que ça soit claire mais pas trop long pour avoir un aperçu très rapide des différentes actions de la méthode ; pour les explications plus verbeuses, c’est à dire une explication détaillée et complête, la javadoc (ou équivalent dans d’autres langages) est faite pour ça, ca n’a pas sa place dans le code lui-même.
Faire des méthodes légères bien documentées ne suffit pas, il faut aussi apprendre à les mettre dans les bonnes classes, lors de ma dernière formation, j’était fier de montrer à mon formateur une superbe interface graphique en swing pour un mini projet sur l’achat de livres. Il y avait un défaut de cette interface graphique, tout était dans la même classe, j’ai donc appris à séparer les différentes parties de l’interface graphique afin de faire différents objets réutilisables. Mon formateur était un boss, j’ai bien utilisé les interfaces pour bien séparer la partie métier de l’interface graphique.
J’aime bien lire et étudier des codes de programme bien écrit et bien conçu, et pas seulement en Java. Je trouve que c’est tout un art, Je trouve génial le fait d’apprendre de nouveau truc et de dire “Tiens ca serait génial d’utiliser tel outil/code/pattern pour mon projet”.
Seulement voilà, j’ai été ‘staffé’ (c’est un terme de mon entreprise) sur un projet en Visual Basic for application, après 2 semaines de formations Java, ca m’a fait un peu mal mais je suis resté confiant. Malgré quelques trucs pas top comme le non respect de la casse, on peut quand même faire des Modules de classe pour faire quelque chose qui se rapproche à de l’objet. On peut aussi respecter les rêgles de faire un code lisible et bien organisé.
En fait ce n’est pas trop Visual Basic le problème mais plutot les développeurs. La plupart des développeurs Java savent ce qu’ils font car Java est beaucoup moins facile d’accès que VB, il faut s’investir un minimum. en VB on trouve surtout des amateurs.
Et lorsque j’entreprend d’améliorer un code mal écrit qui ne respecte aucunes normes de nommage pour les variables et les fonctions, et que l’on me répond que faire pleins de fonctions s’est sympa mais que s’était plus lisible quand tout était dans la fonction main car on avait tout sur la main. Que simplifier les commentaires c’est pas top, c’est bien mieux quand 2 lignes sur 3 sont vertes pour bien expliquer au débutants que la boucle for sert à parcourir tout un tableau ; qu’il ne faut pas toucher au fonction d’un module de classe qui ne contient aucune propriété de classe ; que c’est mieux de passer à chaque appel d’une méthode de classe les même variables plutôt que de les sauvegarder dans une propriété ; et que de toute façon, ce fichier est comme il est et que il faut pas le toucher, j’ai la HAINE.
Je hais le Visual Basic, je hais les développeurs Visual Basic, je hais mon projet de merde, vivement que je me casse pour me donner à fond sur un projet dans un langage évolué, j’aimerai bien tomber sur un chef vachement pointilleux sur les commentaires, sur l’organisations du codes, sur le respect des rêgles de nommages et sur la documentation. Plus que 3 mois et je ne touche plus jamais à ce langage de ma vie (j’ai commencé hier).
PS: attention, ne pas prendre en compte les critiques sur VB pour VB.NET qui n’a rien à voir.