我们应该有一个团队编码标准,抽象类的名称带有前缀Abstract
吗?例如
public abstract class AbstractB implements B {}
我们应该有一个团队编码标准,抽象类的名称带有前缀Abstract
吗?例如
public abstract class AbstractB implements B {}
Answers:
是的,实际上,如果您查看http://download.oracle.com/javase/6/docs/api/上的标准库的javadocs,您会发现左下框架中的类列表以使用您在问题中提到的命名约定来抽象类。
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
选择其中任何一个,说第一个,然后检查其定义:AbstractAction
。它的实现确实Action
类似于您的约定。它的子类的命名,如:ClosedAction
,MaximizeAction
等等。
AbstractMethodError
这里是否适用。
通常,在团队环境中,任何一种标准都是一件好事。否则,团队成员可能会以只有他们能理解的方式来命名课程,然后您可能会混合使用人们不同的编码样式,这会引起混乱。
我不会在回答中说“是”或“不是”,但是无论您选择什么,都应使用良好的静态分析工具来确保这一点。