414 Stimmen

Java-Schnittstellen/Implementierung Namenskonvention

Wie benennen Sie die verschiedenen Klassen / Schnittstellen, die Sie erstellen? Manchmal habe ich keine Implementierungsinformationen, die ich dem Implementierungsnamen hinzufügen könnte - wie zum Beispiel Schnittstelle FileHandler und Klasse SqlFileHandler .

Wenn dies geschieht, benenne ich die Schnittstelle normalerweise mit dem "normalen" Namen, wie Truck und nennen Sie die eigentliche Klasse TruckClass .

Wie benennen Sie in diesem Zusammenhang Schnittstellen und Klassen?

29voto

tzaman Punkte 44506

Die Standardkonvention in C#, die auch in Java gut funktioniert, besteht darin, allen Schnittstellen ein Präfix I - Ihre Dateihandler-Schnittstelle wird also sein IFileHandler und Ihre Lkw-Schnittstelle wird ITruck . Es ist konsistent und macht es einfach, Schnittstellen von Klassen zu unterscheiden.

12voto

Andy White Punkte 83877

Manche Leute mögen das nicht, und es ist eher eine .NET-Konvention als eine Java-Konvention, aber Sie können Ihre Schnittstellen z. B. mit einem großen I als Präfix benennen:

IProductRepository - interface
ProductRepository, SqlProductRepository, etc. - implementations

Diejenigen, die gegen diese Namenskonvention sind, könnten argumentieren, dass es egal sein sollte, ob man mit einer Schnittstelle oder einem Objekt in seinem Code arbeitet, aber ich finde es einfacher zu lesen und zu verstehen.

Ich würde die Implementierungsklasse nicht mit dem Suffix "Class" benennen. Das kann zu Verwirrung führen, denn Sie können in Ihrem Code tatsächlich mit "Klassen"-Objekten (d. h. Typ-Objekten) arbeiten, aber in Ihrem Fall arbeiten Sie nicht mit dem Klassenobjekt, sondern nur mit einem einfachen Objekt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X