抽象类命名约定

Pau*_*zie 63 java coding-style

我们是否应该有一个团队编码标准,抽象类的名称有前缀Abstract?例如

public abstract class AbstractB implements B {}
Run Code Online (Sandbox Code Playgroud)

Sus*_*Pal 82

是的,事实上,如果你在http://download.oracle.com/javase/6/docs/api/上查看标准库的javadoc,你会发现左下角框架中的类列表以使用您在问题中提到的命名约定的抽象类.

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
Run Code Online (Sandbox Code Playgroud)

取其中任何一个,比如说第一个,并检查它的定义:AbstractAction.它确实实现了Action再次类似于您的约定.它的子类的命名,如:ClosedAction,MaximizeAction等等.

  • 反例:java.util.Calendar (3认同)

小智 12

一般来说,任何一种标准在团队环境中都是一件好事.否则,团队成员可能会以这样的方式命名类,只有他们理解,然后你可以混合使用不同的编码风格,这会导致混乱.


RMT*_*RMT 5

对于可读性,它听起来像个好主意.阅读代码时,您将能够立即知道课程的内容.只要每个人都遵循标准就行了.