code uniforme des generateurs de topia ? pas sur...
Salut les lutins, désolé de faire mon rabat-joie une fois de plus mais je suis un peu étonné du code que je trouve dans les générateurs de ToPIA : 1) y'a du code dupliqué à gogo, on fait n fois le même test, par example pour vérifier une propriété sur un attribut, à quoi ça sert ? 2) du code qui devrait être identique (donc déjà dupliqué...) mais pas écrit pareil pour avoir le même résultat ? à quoi ça sert ? 3) du code en commentaire qui a mon avis devrait être supprimé (sinon ça sert à quoi le versionning svn ?) 4) des if-else à l'infini et cela est d'un compliqué à savoir où on en est (surtout avec le formattage à la Eclipse...) 5) les tag values ne sont même pas en constantes et donc on est obligé de parcourir le code des générateurs pour voir quel tagValue existe :je trouve ça trop violent, trop crade et à l'encontre d'une quelconque maintenance du code. A ce propose j'ai commencé dès que je vois un truc du genre attr.getTagValue("lazy") à définir la constante dans GeneratorUtil et à l'utiliser : attr.getTagValue(GeneratorUtil.TAG_LAZY) 6) du code sans javadoc (et J'y suis pour quelque chose (lol... et mea culpa)) Je trouve déjà assez dur de lire les classe de template alors je pense qu'on devrait faire quelque chose pour harmoniser tout cela, mais peut-être pas tout de suite (passage a JPA). Je dois (ou on doit bientôt passer sur JPA et donc revoir tous les générateurs), j'espère qu'on prendra soin de rendre nos générateurs plus compréhensibles et moins (comment dirais-je sans blesser personne LM-atelier-esque...) De manière générale je trouve qu'on ne prette vraiment pas attention à la propreté de notre code et que coder à l'arrache est une hérésie alors que y'a plein de très bonnes choses et idées dans notre code, alors un peu de rigueur dans le codage serait cool... Tout ce dont je vous ai énoncé dans les points précédents sont pour moi le beaba d'un codeur et je ne vous parle pas des best-pratices de sharengo ;) mais du simple bon sens... Ne vous sentez en aucun cas aggresser par mes propos, c'est pas le but, juste ça serait bien que ça avance dans le bon sens. Tony. ps: et c'était pas une gueulante, juste un constat :)
On Wed, 14 Jan 2009 14:16:05 +0100 tony Chemit <chemit@codelutin.com> wrote:
Salut les lutins,
désolé de faire mon rabat-joie une fois de plus mais je suis un peu étonné du code que je trouve dans les générateurs de ToPIA :
1) y'a du code dupliqué à gogo, on fait n fois le même test, par example pour vérifier une propriété sur un attribut, à quoi ça sert ?
A pas grand chose, mais il faut faire attention a l'exces de factorisation dans un generateur. Car il y a eu deja une version factorisee au maximum qui n'etait plus maintenable, donc il y a un juste milieu a trouver
2) du code qui devrait être identique (donc déjà dupliqué...) mais pas écrit pareil pour avoir le même résultat ? à quoi ça sert ?
sans doute parce qu'il y a eu plein de developpeur a la suite qui n'ont pas fait les efforts qu'il fallait ou qui n'ont pas ose touche a quelque chose qui fonctionne
3) du code en commentaire qui a mon avis devrait être supprimé (sinon ça sert à quoi le versionning svn ?)
oui, sans doute, mais j'aime bien laisse un peu le code en commentaire pour que lorsqu'on le relit on se dise ok, la nouvelle implantation est bonne tout je vire le code commenter avec un petit texte pour dire ce qui existait avant mais qui ne marchait pas.
4) des if-else à l'infini et cela est d'un compliqué à savoir où on en est (surtout avec le formattage à la Eclipse...)
la subtilite est ici il me semble, il faut faire attention a ne pas faire trop de factorisation ici.
5) les tag values ne sont même pas en constantes et donc on est obligé de parcourir le code des générateurs pour voir quel tagValue existe :je trouve ça trop violent, trop crade et à l'encontre d'une quelconque maintenance du code. A ce propose j'ai commencé dès que je vois un truc du genre
attr.getTagValue("lazy") à définir la constante dans GeneratorUtil et à l'utiliser :
attr.getTagValue(GeneratorUtil.TAG_LAZY)
tres bonne initiative que tes predecesseurs aurait du prendre :)
6) du code sans javadoc (et J'y suis pour quelque chose (lol... et mea culpa))
Je trouve déjà assez dur de lire les classe de template alors je pense qu'on devrait faire quelque chose pour harmoniser tout cela, mais peut-être pas tout de suite (passage a JPA).
oui, je pense qu'on peut profiter du passage a JPA pour ameliorer la lisibilite/maintenabilite.
Je dois (ou on doit bientôt passer sur JPA et donc revoir tous les générateurs), j'espère qu'on prendra soin de rendre nos générateurs plus compréhensibles et moins (comment dirais-je sans blesser personne LM-atelier-esque...)
De manière générale je trouve qu'on ne prette vraiment pas attention à la propreté de notre code et que coder à l'arrache est une hérésie alors que y'a plein de très bonnes choses et idées dans notre code, alors un peu de rigueur dans le codage serait cool...
Oui, je dois aussi toujours ecrire les bonnes pratiques des lutins pour le code. -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
Je plaide coupable pour certains des chefs d'accusation énoncés ici. Vous avec gagné 2 coups de fouets. encore ? :( tony Chemit a écrit :
Salut les lutins,
désolé de faire mon rabat-joie une fois de plus mais je suis un peu étonné du code que je trouve dans les générateurs de ToPIA :
1) y'a du code dupliqué à gogo, on fait n fois le même test, par example pour vérifier une propriété sur un attribut, à quoi ça sert ?
2) du code qui devrait être identique (donc déjà dupliqué...) mais pas écrit pareil pour avoir le même résultat ? à quoi ça sert ?
3) du code en commentaire qui a mon avis devrait être supprimé (sinon ça sert à quoi le versionning svn ?)
4) des if-else à l'infini et cela est d'un compliqué à savoir où on en est (surtout avec le formattage à la Eclipse...)
5) les tag values ne sont même pas en constantes et donc on est obligé de parcourir le code des générateurs pour voir quel tagValue existe :je trouve ça trop violent, trop crade et à l'encontre d'une quelconque maintenance du code. A ce propose j'ai commencé dès que je vois un truc du genre
attr.getTagValue("lazy") à définir la constante dans GeneratorUtil et à l'utiliser :
attr.getTagValue(GeneratorUtil.TAG_LAZY)
6) du code sans javadoc (et J'y suis pour quelque chose (lol... et mea culpa))
Je trouve déjà assez dur de lire les classe de template alors je pense qu'on devrait faire quelque chose pour harmoniser tout cela, mais peut-être pas tout de suite (passage a JPA).
Je dois (ou on doit bientôt passer sur JPA et donc revoir tous les générateurs), j'espère qu'on prendra soin de rendre nos générateurs plus compréhensibles et moins (comment dirais-je sans blesser personne LM-atelier-esque...)
De manière générale je trouve qu'on ne prette vraiment pas attention à la propreté de notre code et que coder à l'arrache est une hérésie alors que y'a plein de très bonnes choses et idées dans notre code, alors un peu de rigueur dans le codage serait cool...
Tout ce dont je vous ai énoncé dans les points précédents sont pour moi le beaba d'un codeur et je ne vous parle pas des best-pratices de sharengo ;) mais du simple bon sens...
Ne vous sentez en aucun cas aggresser par mes propos, c'est pas le but, juste ça serait bien que ça avance dans le bon sens.
Tony.
ps: et c'était pas une gueulante, juste un constat :) _______________________________________________ Dev mailing list Dev@list.codelutin.com http://list.codelutin.com/cgi-bin/mailman/listinfo/dev
-- Société Code Lutin http://www.codelutin.com tel : 02 40 50 29 28 fax : 09 59 92 29 28
Néanmoins je suis fortement volontaire pour partager le boulot (ou carrément le faire à 2) sur le refactoring et la réécriture JPA. Ca m'enlève un coup de fouet ? Arnaud Thimel a écrit :
Je plaide coupable pour certains des chefs d'accusation énoncés ici. Vous avec gagné 2 coups de fouets. encore ? :(
tony Chemit a écrit :
Salut les lutins,
désolé de faire mon rabat-joie une fois de plus mais je suis un peu étonné du code que je trouve dans les générateurs de ToPIA :
1) y'a du code dupliqué à gogo, on fait n fois le même test, par example pour vérifier une propriété sur un attribut, à quoi ça sert ?
2) du code qui devrait être identique (donc déjà dupliqué...) mais pas écrit pareil pour avoir le même résultat ? à quoi ça sert ?
3) du code en commentaire qui a mon avis devrait être supprimé (sinon ça sert à quoi le versionning svn ?)
4) des if-else à l'infini et cela est d'un compliqué à savoir où on en est (surtout avec le formattage à la Eclipse...)
5) les tag values ne sont même pas en constantes et donc on est obligé de parcourir le code des générateurs pour voir quel tagValue existe :je trouve ça trop violent, trop crade et à l'encontre d'une quelconque maintenance du code. A ce propose j'ai commencé dès que je vois un truc du genre
attr.getTagValue("lazy") à définir la constante dans GeneratorUtil et à l'utiliser :
attr.getTagValue(GeneratorUtil.TAG_LAZY)
6) du code sans javadoc (et J'y suis pour quelque chose (lol... et mea culpa))
Je trouve déjà assez dur de lire les classe de template alors je pense qu'on devrait faire quelque chose pour harmoniser tout cela, mais peut-être pas tout de suite (passage a JPA).
Je dois (ou on doit bientôt passer sur JPA et donc revoir tous les générateurs), j'espère qu'on prendra soin de rendre nos générateurs plus compréhensibles et moins (comment dirais-je sans blesser personne LM-atelier-esque...)
De manière générale je trouve qu'on ne prette vraiment pas attention à la propreté de notre code et que coder à l'arrache est une hérésie alors que y'a plein de très bonnes choses et idées dans notre code, alors un peu de rigueur dans le codage serait cool...
Tout ce dont je vous ai énoncé dans les points précédents sont pour moi le beaba d'un codeur et je ne vous parle pas des best-pratices de sharengo ;) mais du simple bon sens...
Ne vous sentez en aucun cas aggresser par mes propos, c'est pas le but, juste ça serait bien que ça avance dans le bon sens.
Tony.
ps: et c'était pas une gueulante, juste un constat :) _______________________________________________ Dev mailing list Dev@list.codelutin.com http://list.codelutin.com/cgi-bin/mailman/listinfo/dev
-- Société Code Lutin http://www.codelutin.com tel : 02 40 50 29 28 fax : 09 59 92 29 28
participants (3)
-
Arnaud Thimel -
Benjamin POUSSIN -
tony Chemit