Sollten wir einen Teamcodierungsstandard haben, dem die Namen abstrakter Klassen ein Präfix haben Abstract
? z.B
public abstract class AbstractB implements B {}
java
coding-style
Paul McKenzie
quelle
quelle
Antworten:
Ja, wenn Sie sich die Javadocs der Standardbibliothek unter http://download.oracle.com/javase/6/docs/api/ ansehen, werden Sie feststellen, dass die Liste der Klassen im unteren linken Rahmen mit beginnt abstrakte Klassen unter Verwendung der Namenskonvention, die Sie in Ihrer Frage erwähnt haben.
Nehmen Sie einen von ihnen, sagen Sie den ersten und überprüfen Sie seine Definition :
AbstractAction
. Es implementiert inAction
der Tat, was wiederum Ihrer Konvention ähnlich ist. Es ist Subklassen werden genannt wie:ClosedAction
,MaximizeAction
usw.quelle
AbstractMethodError
hier zutrifft.Im Allgemeinen ist jede Art von Standard eine gute Sache in einer Teamumgebung. Andernfalls könnten Teammitglieder Klassen so benennen, dass nur sie sie verstehen, und dann könnten Sie eine Mischung aus den verschiedenen Codierungsstilen der Leute erhalten, was zu Verwirrung führt.
quelle
Für die Lesbarkeit klingt es nach einer guten Idee. Wenn Sie Code lesen, können Sie sofort wissen, um welche Klasse es sich handelt. Solange jeder dem Standard folgt, ist es gut.
quelle
Moderne IDEs zeigen beschreibenden Text an, wenn Sie mit der Maus über ein Objekt fahren. Das Präfix ist in diesem Fall redundant.
quelle
Ich werde in einer Antwort nicht Ja oder Nein sagen, aber was auch immer Sie wählen, verwenden Sie ein gutes statisches Analysewerkzeug , um dies sicherzustellen.
quelle
Wie bei den meisten Fragen dieser Art: "es kommt darauf an". Ich mag Beständigkeit und Klarheit. Wenn es also für Sie und Ihren Shop funktioniert, ist es großartig. Wenn Sie jedoch über ältere abstrakte Klassen verfügen, möchten Sie diese zurückgehen und sie auf dieselbe Namenskonvention umgestalten.
quelle