74 votes

convention de dénomination des classes abstraites

Devrions-nous avoir une norme de codage d'équipe selon laquelle les noms des classes abstraites ont le préfixe Abstract ? par exemple

public abstract class AbstractB implements B {}

92voto

Susam Pal Points 6171

Oui, en fait, si vous consultez les javadocs de la bibliothèque standard à l'adresse suivante http://download.oracle.com/javase/6/docs/api/ vous constaterez que la liste des classes dans le cadre en bas à gauche commence par des classes abstraites utilisant la convention de dénomination que vous avez mentionnée dans votre question.

AbstractAction
AbstractAnnotationValueVisitor6
AbstractBorder
AbstractButton
AbstractCellEditor
AbstractCollection
AbstractColorChooserPanel
AbstractDocument
AbstractDocument.AttributeContext
AbstractDocument.Content
AbstractDocument.ElementEdit
AbstractElementVisitor6
AbstractExecutorService
AbstractInterruptibleChannel
AbstractLayoutCache
AbstractLayoutCache.NodeDimensions
AbstractList
AbstractListModel
AbstractMap
AbstractMap.SimpleEntry
AbstractMap.SimpleImmutableEntry
AbstractMarshallerImpl
AbstractMethodError
AbstractOwnableSynchronizer
AbstractPreferences
AbstractProcessor
AbstractQueue
AbstractQueuedLongSynchronizer
AbstractQueuedSynchronizer
AbstractScriptEngine
AbstractSelectableChannel
AbstractSelectionKey
AbstractSelector
AbstractSequentialList
AbstractSet
AbstractSpinnerModel
AbstractTableModel
AbstractTypeVisitor6
AbstractUndoableEdit
AbstractUnmarshallerImpl
AbstractWriter

Prenez l'un d'entre eux, disons le premier, et vérifiez sa définition : AbstractAction . Il met en effet en œuvre Action ce qui est à nouveau similaire à votre convention. Ses sous-classes sont nommées comme suit : ClosedAction , MaximizeAction etc.

12voto

KennyRules Points 146

En général, toute forme de norme est une bonne chose dans une équipe. Sinon, les membres de l'équipe peuvent nommer les classes d'une manière qu'ils sont les seuls à comprendre, ce qui peut entraîner un mélange de styles de codage différents, source de confusion.

5voto

RMT Points 3687

Pour la lisibilité, c'est une bonne idée. En lisant du code, vous serez en mesure de savoir immédiatement quelle est la classe. Tant que tout le monde suit la norme, tout va bien.

4voto

Ryan Stewart Points 46960

Je ne dirai pas oui ou non dans une réponse, mais quel que soit votre choix, utilisez un bon outil d'analyse statique pour l'assurer.

3voto

James Points 1629

Les IDE modernes font apparaître un texte descriptif lorsque vous survolez un objet. Le préfixe est redondant dans ce cas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X