IMPLEMENTATION DE QUELQUES ALGORITHMES POUR LA RÉSOLUTION DU JEU SUDOKU
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
13 janv. 2007 à 21:41
talhass
Messages postés1Date d'inscriptionmardi 29 novembre 2011StatutMembreDernière intervention28 mars 2013
-
28 mars 2013 à 02:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
talhass
Messages postés1Date d'inscriptionmardi 29 novembre 2011StatutMembreDernière intervention28 mars 2013 28 mars 2013 à 02:00
SVP algorithme2 et algorithme3 se base sur quoi?
Bel0
Messages postés71Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention14 septembre 2007 14 janv. 2007 à 13:37
Ayant lu ton code, je me permet de faire quelques commentaires:
- tu devrais plus vérifier la java doc (ou utiliser un éditeur te montrant les erreurs .. genre eclipse) pour vérifier que les méthodes que tu utilises ne sont pas obsolète (deprecated) (ex: size() -> getSize()).
- Tu utilises des threads dans ton programme et tu utilises aussi la méthode stop (qui est deprecated elle aussi). Ce n'est vraiment pas une bonne façon de faire les choses étant donné que quand tu appelles cette méthode, elle stop le thread mais dans état inconnu, ce qui crée forcement de l'inconsistance dans l'état de ton programme (deadlock, race & co).
- Le troisième point me semble peut-être le plus embêtant étant donné qu'il traduit un manque de compréhension de langage Java. Quand un attribut d'une classe est déclaré en static, il faut y accéder de la manière suivante: <Nom de la classe>.<Nom attribut> (ex: Sudoku.soduko et non pas app.suduko, idem pour Jeu et jeu.getJeu)
- Tu devrais aussi essayer des mieux encapsuler tes données. C'est une mauvaise pratique d'accéder aux attributs des autres classes directement. On préfère utilisé des accesseurs. Ca devient utile quand on les surcharge dans des sous-classes. Si tu n'utilisais pas les accesseurs (comme dans ton cas), tu devrais changer partout dans ton code où tu utilises l'attribut pour pointer vers l'attribut de la sous-classe.
- La dernière remarque est peut être moins importante pour toi pour l'instant mais c'est toujours bon de s'en souvenir pour la suite. Quand tu créés une application graphique, il vaut toujours mieux essayer de séparer la partie graphique de la partie donnée (le modèle) et la façon de gérer les données (controller). Il existe un pattern en programmation appellée MVC (Model View Controller) très utile pour les applications graphiques. Tu devrais y jeter un coup d'oeil une fois que tu en as fini avec toutes les remarques.
Ne le prends pas mal si je te fais toute ces remarques, c'est pour ton bien :P En gros, tu as commis à peu près toutes les erreurs du débutant (ca n'est pas grave, on est tous passé par là un jour ou l'autre ;))
28 mars 2013 à 02:00
14 janv. 2007 à 13:37
- tu devrais plus vérifier la java doc (ou utiliser un éditeur te montrant les erreurs .. genre eclipse) pour vérifier que les méthodes que tu utilises ne sont pas obsolète (deprecated) (ex: size() -> getSize()).
- Tu utilises des threads dans ton programme et tu utilises aussi la méthode stop (qui est deprecated elle aussi). Ce n'est vraiment pas une bonne façon de faire les choses étant donné que quand tu appelles cette méthode, elle stop le thread mais dans état inconnu, ce qui crée forcement de l'inconsistance dans l'état de ton programme (deadlock, race & co).
- Le troisième point me semble peut-être le plus embêtant étant donné qu'il traduit un manque de compréhension de langage Java. Quand un attribut d'une classe est déclaré en static, il faut y accéder de la manière suivante: <Nom de la classe>.<Nom attribut> (ex: Sudoku.soduko et non pas app.suduko, idem pour Jeu et jeu.getJeu)
- Tu devrais aussi essayer des mieux encapsuler tes données. C'est une mauvaise pratique d'accéder aux attributs des autres classes directement. On préfère utilisé des accesseurs. Ca devient utile quand on les surcharge dans des sous-classes. Si tu n'utilisais pas les accesseurs (comme dans ton cas), tu devrais changer partout dans ton code où tu utilises l'attribut pour pointer vers l'attribut de la sous-classe.
- La dernière remarque est peut être moins importante pour toi pour l'instant mais c'est toujours bon de s'en souvenir pour la suite. Quand tu créés une application graphique, il vaut toujours mieux essayer de séparer la partie graphique de la partie donnée (le modèle) et la façon de gérer les données (controller). Il existe un pattern en programmation appellée MVC (Model View Controller) très utile pour les applications graphiques. Tu devrais y jeter un coup d'oeil une fois que tu en as fini avec toutes les remarques.
Ne le prends pas mal si je te fais toute ces remarques, c'est pour ton bien :P En gros, tu as commis à peu près toutes les erreurs du débutant (ca n'est pas grave, on est tous passé par là un jour ou l'autre ;))
Sur ce bon courage pour toutes les corrections.