¿Deberíamos tener un estándar de codificación de equipo que los nombres de las clases abstractas tengan el prefijo Abstract
? p.ej.convención de nomenclatura de clase abstracta
public abstract class AbstractB implements B {}
¿Deberíamos tener un estándar de codificación de equipo que los nombres de las clases abstractas tengan el prefijo Abstract
? p.ej.convención de nomenclatura de clase abstracta
public abstract class AbstractB implements B {}
Sí, de hecho si mira los javadocs de la biblioteca estándar en http://download.oracle.com/javase/6/docs/api/, encontrará que la lista de clases en el cuadro inferior izquierdo comienza con clases abstractas utilizando la convención de nomenclatura que ha mencionado en su pregunta.
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
Tome cualquiera de ellos, dicen que la primera, y comprobar su definición: AbstractAction
. Efectivamente implementa Action
que es de nuevo similar a su convención. Se subclases se nombran como: ClosedAction
, MaximizeAction
, etc.
Para legibilidad suena como una buena idea. Al leer el código, podrás saber de inmediato qué clase es. Mientras todos sigan el estándar, es bueno.
En general, cualquier tipo de estándar es algo bueno en un ambiente de equipo. De lo contrario, los miembros del equipo podrían nombrar las clases de tal manera que solo ellas entiendan y luego podría obtener una combinación de diferentes estilos de codificación de las personas, lo que generaría confusión.
Esto es exactamente lo que pensé. Preferiría nombrarlos con el prefijo Abstract, pero lo más importante es seguir el estilo de codificación del equipo/proyecto. –
Los IDE modernos mostrarán texto descriptivo al pasar el mouse sobre un objeto. La prefijación es redundante en este caso.
que requiere javadocs, una cosa completamente distinta para un equipo para luchar en batallas de estilo de codificación. –
No voy a decir sí o no en una respuesta, pero lo que usted elige, utilizar un buen static analysis tool para garantizarla.
Como con la mayoría de las preguntas de este tipo: "depende". Me gusta la coherencia y la claridad, así que si funciona para usted y su tienda, genial. Sin embargo, si tiene clases abstractas heredadas, entonces debería volver atrás y refactorizarlas a la misma convención de nomenclatura.
Apuesto a que esta pregunta se cierra. Es muy subjetivo Yo voto sí, sin embargo. –
Pero su interfaz B no debe llamarse InterfaceB por el mismo estándar – bstick12
@bstick: ¡Nooooo! Las interfaces son tipos. ¡Nombrales qué son! –