Projet de dictionnaires arabes
4 participants
Page 72 sur 90
Page 72 sur 90 • 1 ... 37 ... 71, 72, 73 ... 81 ... 90
Ibn Nacer- Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011
Re: Projet de dictionnaires arabes
C'est bien pour démarrer avec la syntaxe du langage. N'hésite pas à partager du code via ce genre de site.
Pour vérifier que tes classes et tes méthodes soient de bonnes qualités vérifie toujours les GRASP pattern, ils sont au nombre de 7 ou 9 , et le SOLID pattern au nombre de 5. Ce sont des patterns qui font poser des questions contrairement à d'autres patterns qui te donnent un moule de classes déjà prédéfini.
Regarde aussi du côté du développement dirigé par les tests (TDD) et des pratiques de l'extrême programming. Là encore des questions qui te font adapter ton code. Par exemple dans ton code, on pourrait dire que ta méthode (main) n'est pas testable et qu'elle renvoit toujours le même résultat. Du coup on la catégorise comme un anti-pattern :) Ou si tu préfères comme une yes card.
Sinon je ne suis pas fan des commentaires dans le code du tout.
Pour vérifier que tes classes et tes méthodes soient de bonnes qualités vérifie toujours les GRASP pattern, ils sont au nombre de 7 ou 9 , et le SOLID pattern au nombre de 5. Ce sont des patterns qui font poser des questions contrairement à d'autres patterns qui te donnent un moule de classes déjà prédéfini.
Regarde aussi du côté du développement dirigé par les tests (TDD) et des pratiques de l'extrême programming. Là encore des questions qui te font adapter ton code. Par exemple dans ton code, on pourrait dire que ta méthode (main) n'est pas testable et qu'elle renvoit toujours le même résultat. Du coup on la catégorise comme un anti-pattern :) Ou si tu préfères comme une yes card.
Sinon je ne suis pas fan des commentaires dans le code du tout.
Adel Medine- Messages : 643
Points : 655
Date d'inscription : 09/09/2013
Re: Projet de dictionnaires arabes
Un petit refactoring de code pour te montrer comment étendre un modèle de classe et ce qu'on peut bien en montrer
http://ideone.com/H73keb
http://ideone.com/H73keb
Adel Medine- Messages : 643
Points : 655
Date d'inscription : 09/09/2013
Re: Projet de dictionnaires arabes
J'en suis pas encore là mais ça permet de voir qu'il y a encore beaucoup de choses à appendre inchâ-a Allâh.
J'ai regardé ton code, je n'ai pas encore étudier les "ArrayList" par contre pour la fonction "public String Devocalise(String inputText)" est-ce que ce ne serait pas mieux qu'elle soit static ?
Cela permettrait d'écrire :
System.out.println("Sans les voyelles : " + Devocaliseur.Devocalise(textVocalized));
au lieu de :
System.out.println("Sans les voyelles : " + new Devocaliseur().Devocalise(textVocalized));
L'intèret serait d'éviter d'instancier un objet de type Devocaliseur à chaque utilisation de la méthode Devocalise.
Qu'en penses-tu ?
J'ai regardé ton code, je n'ai pas encore étudier les "ArrayList" par contre pour la fonction "public String Devocalise(String inputText)" est-ce que ce ne serait pas mieux qu'elle soit static ?
Cela permettrait d'écrire :
System.out.println("Sans les voyelles : " + Devocaliseur.Devocalise(textVocalized));
au lieu de :
System.out.println("Sans les voyelles : " + new Devocaliseur().Devocalise(textVocalized));
L'intèret serait d'éviter d'instancier un objet de type Devocaliseur à chaque utilisation de la méthode Devocalise.
Qu'en penses-tu ?
Ibn Nacer- Messages : 1990
Points : 2234
Date d'inscription : 04/09/2011
Re: Projet de dictionnaires arabes
Oui tu pourrais mettre la classe et la méthode en static. Il faut par contre connaitre la bonne raison de cela. Eviter d'instancier un objet n'est pas une bonne raison. Dans un systéme orienté objet on passe son temps a instancier des objets c'est la définition meme d'un systéme objet : des objets qui collaborent entre eux pour réaliser un traitement.
C'est pour te montrer cela que je ne l'ai pas mise static.
Une classe static est quand meme chargée en mémoire (comme une variable globale) et sa durée de vie est aussi longue que la durée de vie du programme contrairement à une instance d'une classe (un objet) qui bien souvent à une durée de vie plus courte (le temps d'une méthode par exemple) En static c'est comme si tu avais toujours qu'une instance d'une classe (un objet) en mémoire bien que tu ne l'utilises pas.
Là la raison c'est que vu comme cela la classe Devocaliseur n'a aucune donnée membre (aucune encapsulation). Bref, tu n'as pas besoin d'avoir plusieurs instances de cet objet en mémoire à priori. Elle est un peu comme la class Math avec ses méthodes static cosinus ou sinus.
Aprés tout dépend de comment tu comptes l'utiliser dans le systéme au final. A partir de là tu pourras dire static ou pas static.
C'est pour te montrer cela que je ne l'ai pas mise static.
Une classe static est quand meme chargée en mémoire (comme une variable globale) et sa durée de vie est aussi longue que la durée de vie du programme contrairement à une instance d'une classe (un objet) qui bien souvent à une durée de vie plus courte (le temps d'une méthode par exemple) En static c'est comme si tu avais toujours qu'une instance d'une classe (un objet) en mémoire bien que tu ne l'utilises pas.
Là la raison c'est que vu comme cela la classe Devocaliseur n'a aucune donnée membre (aucune encapsulation). Bref, tu n'as pas besoin d'avoir plusieurs instances de cet objet en mémoire à priori. Elle est un peu comme la class Math avec ses méthodes static cosinus ou sinus.
Aprés tout dépend de comment tu comptes l'utiliser dans le systéme au final. A partir de là tu pourras dire static ou pas static.
Adel Medine- Messages : 643
Points : 655
Date d'inscription : 09/09/2013
Page 72 sur 90 • 1 ... 37 ... 71, 72, 73 ... 81 ... 90
Sujets similaires
» قاموس البحث العلميّ / Tous types de dictionnaires arabes en ligne ou à télécharger
» De la synonymie à la traduction ou comment améliorer les dictionnaires bilingues arabes
» Littérature arabe : livres / Arabic Literature: books
» Dictionnaires / معجم / dictionaries
» Dictionnaires latins / قواميس لاتينية / Latin dictionaries
» De la synonymie à la traduction ou comment améliorer les dictionnaires bilingues arabes
» Littérature arabe : livres / Arabic Literature: books
» Dictionnaires / معجم / dictionaries
» Dictionnaires latins / قواميس لاتينية / Latin dictionaries
Page 72 sur 90
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|