7
votes

Quels noms dois-je donner comme nom de projet, nom de paquet, nom de classe - (Java - Eclipse)

Je n'ai jamais compris quel est le moyen idéal de nommer un projet, un package, une classe. Je le fais de manière aléatoire qui n'a pas l'air professionnel du tout. Je sais que le nom de la classe devrait commencer par un alphabet de capital. Mais ce que je n'ai pas vraiment de problème avec consiste à trouver les noms appropriés et d'aspect professionnel. Permet de considérer cet exemple. Si j'écris un programme pour la série Fibonacci, je donne des noms comme ceci:

project name = fibonacci_project
package name = org.fib.code1
class name = Code1


0 commentaires

6 Réponses :


6
votes

Pour commencer, c'est Fibonacci .

voir Conventions de nommage Java de Sun pour certains détails sur le paquet / noms de classe.

En dehors de cela, la règle générale est - tous vos noms devraient être descriptifs:

  • pour la classe - Que fait-il (ou que représente-t-il)
  • pour emballage - Quelle fonctionnalité courante (objectif) effectue toutes les classes de ce paquet fournissez (visez à atteindre)

2 commentaires

+1 Utiliser les conventions de nommage du soleil, ils sont la norme de facto que presque tout le monde semble utiliser pour Java.


+1 - En plus d'être la norme DEFACTO, les règles du soleil aident également à éviter différents groupes d'utiliser accidentellement les mêmes FQNS pour différentes classes.



3
votes

Votre nom de projet pourrait être "Fibonacci Solver".
Votre colis pourrait commencer par "com.silverkid.fibsolver"
Votre classe principale serait "fibonaccisolver.java"


0 commentaires

10
votes

Il y a quelques conseils sur la dénomination:

  1. Comme vous avez dit classname avoir la capitalisation de la première lettre de chaque mot, par exemple. longclassname
  2. Sun a toujours préféré des noms longs qui expliquent clairement la signification de la classe (pensent à defaultTableModel ). Code1 n'est définitivement pas correct, peut-être fibonaccicalc ou quelque chose qui contient fibonacci conviendrait mieux.
  3. préprend abstrait si c'est une classe abstraite
  4. APPendez Implez s'il s'agit d'une implémentation d'une interface particulière
  5. Les noms de packages doivent commencer par org, com, elle, etc. (généralement, il s'agissait d'une URL ascendante du référentiel de projet ou du Nick du codeur)
  6. Vous devez diviser vos paquets en fonction de la fonctionnalité, votre exemple est vraiment simple, il n'ya donc pas un moyen de le faire.

    pense à quelque chose de plus complexe dans lequel vous avez: xxx


3 commentaires

4 n'est approprié que dans des cas limités. Généralement, là où il n'y a qu'une interface et généralement une seule implémentation. S'il existe plusieurs implémentations, le nom doit représenter cette implémentation spécifique, pas l'interface.


Je suis maintenant en désaccord avec 3 et 4: ces noms supplémentaires n'ajoutent aucune information pertinente sur la mise en œuvre / la classe. Suivi: groups.google.com/forum/#! Topic / Clean-Code-Discussion / ...


Désolé pour le nécropost. Et si mon site Web est (par exemple) Fourinchknife.github.IO? Serais-je ... / SRC / MAIN / JAVA / IO / GITUB / FOURINCHKNIFE / ?



1
votes

Exemples:

Nom du projet - FibonacciseriesProducteur
Nom du paquet - com.lazywithclass.utils, com.lazywithclass.Entrypoint
Nom de classe - Fibonaccilogic.java, fibonacciprinter.java

Voici comment je l'aurais fait, peut-être pendant le développement, cela changera un peu, la convention vraiment importante est la convention de nommage pour les noms de classe, voir si ces étapes sont d'une aide:

  1. Identifiables Objets que vous devrez résoudre le problème
  2. sachant ce que l'objectif d'une classe sera le nom en conséquence
  3. Gardez un œil sur vos noms de classe, les manipulaires comme significatifs à travers le développement

    voir ici pour quelques exemples.


0 commentaires

0
votes

J'aime le schéma de dénomination du projet Eclipse, où un nom de projet est simplement le nom du forfait principal que le projet fournit, par ex. Nom du projet: org.eclipse.emf.core ou org.eclipse.emf.common


0 commentaires

0
votes

Votre nom de classe doit toujours commencer par majuscule. Le nom de votre colis doit toujours commencer par des minuscules. et votre nom de méthode à l'intérieur de la classe devrait également commencer par les minuscules.


0 commentaires