Namenskonvention für abstrakte Klassen [closed]

Lesezeit: 3 Minuten

Sollten wir einen Team-Codierungsstandard haben, den die Namen abstrakter Klassen voranstellen Abstract ? z.B

public abstract class AbstractB implements B {}

  • 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

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, MaximizeActionetc.

  • 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

Benutzer-Avatar
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

1215760cookie-checkNamenskonvention für abstrakte Klassen [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy