Sollten wir einen Team-Codierungsstandard haben, den die Namen abstrakter Klassen voranstellen Abstract
? z.B
public abstract class AbstractB implements B {}
Sollten wir einen Team-Codierungsstandard haben, den die Namen abstrakter Klassen voranstellen Abstract
? z.B
public abstract class AbstractB implements B {}
Ja, in der Tat, wenn Sie sich die Javadocs der Standardbibliothek ansehen http://download.oracle.com/javase/6/docs/api/ Sie werden feststellen, dass die Liste der Klassen im unteren linken Rahmen mit abstrakten Klassen beginnt, die die in Ihrer Frage erwähnte Namenskonvention verwenden.
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
Nehmen Sie einen von ihnen, sagen Sie den ersten und überprüfen Sie seine Definition: AbstractAction
. Es wird tatsächlich implementiert Action
das ist wieder ähnlich zu Ihrer Konvention. Seine Unterklassen heißen wie folgt: ClosedAction
, MaximizeAction
etc.
Gegenbeispiel: java.util.Calendar
– KGhatak
25. August 2016 um 19:19 Uhr
@ Susam Pal – Also sollte eine abstrakte Klasse ohne Implementierung einer Schnittstelle mit ‘Abstract’ beginnen! Hinweis: Calander ist eine abstrakte Klasse
– KGhatak
30. August 2016 um 9:49 Uhr
Ich bin mir nicht sicher AbstractMethodError
gilt hier.
– zweites Frühstück
27. August 2018 um 18:44 Uhr
Generell ist jede Art von Standard in einer Teamumgebung eine gute Sache. Andernfalls könnten Teammitglieder Klassen so benennen, dass nur sie sie verstehen, und dann könnten Sie eine Mischung aus den unterschiedlichen Programmierstilen der Leute erhalten, was zu Verwirrung führt.
Genau das dachte ich mir. Ich würde es vorziehen, sie mit dem Abstract-Präfix zu benennen, aber das Wichtigste ist, dem Team-/Projekt-Codierungsstil zu folgen.
– Gábor Csikós
18. März 2016 um 9:43 Uhr
Für die Lesbarkeit klingt es nach einer guten Idee. Wenn Sie Code lesen, können Sie sofort wissen, was die Klasse ist. Solange sich alle an den Standard halten, ist es gut.
Ich werde in einer Antwort nicht ja oder nein sagen, aber was auch immer Sie wählen, verwenden Sie ein gutes Statisches Analysetool es zu gewährleisten.
Moderne IDEs zeigen einen beschreibenden Text an, wenn Sie den Mauszeiger über ein Objekt bewegen. Eine Präfixierung ist in diesem Fall überflüssig.
was javadocs erfordert, eine ganz andere Sache für ein Team, um Kämpfe im Codierungsstil zu führen.
– Paul McKenzie
28. Juli 2011 um 17:41 Uhr
ein Zug
Wie bei den meisten Fragen dieser Art: „es kommt darauf an“. Ich mag Konsistenz und Klarheit, also wenn es für Sie und Ihren Shop funktioniert, großartig. Wenn Sie jedoch veraltete Abstract-Klassen haben, sollten Sie zurückgehen und sie auf dieselbe Namenskonvention umgestalten.
was javadocs erfordert, eine ganz andere Sache für ein Team, um Kämpfe im Codierungsstil zu führen.
– Paul McKenzie
28. Juli 2011 um 17:41 Uhr
Ich wette, diese Frage wird geschlossen. Es ist sehr subjektiv. Ich stimme aber mit Ja.
– Ryan Steward
28. Juli 2011 um 15:42 Uhr
@bstick: Neinoooo! Schnittstellen sind Typen. Nennen Sie sie, was sie sind!
– Ryan Steward
28. Juli 2011 um 15:46 Uhr
@Ryan Stewart Ich war ein bisschen augenzwinkernd.
– bstick12
28. Juli 2011 um 15:53 Uhr
@bstick: Ja, jemand wird dich ernst nehmen: p
– Ryan Steward
28. Juli 2011 um 15:54 Uhr
Ich dachte nicht, dass es subjektiv ist
– Paul McKenzie
2. Dezember 2011 um 10:36 Uhr