Laden...

Vorgaben in Namensgebung für Klassen, die als Rückgabetyp genutzt werden?

Erstellt von maccinoo vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.096 Views
M
maccinoo Themenstarter:in
20 Beiträge seit 2009
vor 4 Jahren
Vorgaben in Namensgebung für Klassen, die als Rückgabetyp genutzt werden?

Hallo Leute,

ich wollte Euch mal fragen ob es für Klassen die speziell als Rückgabetyp eingesetzt werden, irgendwelche Vorgaben für die Namensgebung gibt.

Wie würdet Ihr z.B. die Klasse "RetValue" bennen?


public static class DatabaseConnection
{

	public class RetValue
	{
                public bool IsOK { get; set; }
                public string Error { get; set; }
	}
	
	public static RetValue Init()
	{
		// ....
		
		return new RetValue(){IsOK = true};
	}
}

Vielen Dank!
Marc

T
2.219 Beiträge seit 2008
vor 4 Jahren

Macht so keinen Sinn.
Die Klassen sollten im besten Fall ihrem Zwesck/Modell nach benannt werden.
Deine Klasse für den Rückgabe Wert würde ich dann z.B. ConnectionStatus oder einfach nur Status, falls es eine generische und wiederverwendbare Klasse werden soll, nennen.

Somit zeigt der Klassen Name auch direkt welchen Zweck oder welches Modell die Klasse repräsentiert.
Für die Benennung gibt es in C# auch Vorgaben, diese beziehen sich primär auf die Schreibweise und nicht die genaue Bezeichnung.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

W
955 Beiträge seit 2010
vor 4 Jahren

Warum verwendest du keine Exceptions für den konkreten Anwendungsfall?

M
maccinoo Themenstarter:in
20 Beiträge seit 2009
vor 4 Jahren

@T-Virus

Danke, hat mir sehr geholfen.

Marc

M
maccinoo Themenstarter:in
20 Beiträge seit 2009
vor 4 Jahren

@witte

Die Klasse gibt es nicht wirklich. Sollte nur als Beispiel für die Namensgebung dienen.

Marc

16.806 Beiträge seit 2008
vor 4 Jahren

Es ist totaler Quatsch Beispiele so zu verfälschen, dass die potentieller Helfer die Situation gar nicht mehr nachvollziehen können.

T-Virus hat absolut Recht, dass die Namen sich anhand der Grundprinzipien von OOP orientiert.
Witte hat absolut Recht, dass Exceptions prinzipiell nicht über Rückgaben gelöst werden.

M
maccinoo Themenstarter:in
20 Beiträge seit 2009
vor 4 Jahren

und ABT hat Recht mit "Absoluter Quatsch".
Danke auch für Deinen Beitrag 😃

2.078 Beiträge seit 2012
vor 4 Jahren

Angenommen, es gibt ein Beispiel, das nicht zum Fehlerbehandlung dient:

In so einem Fall würde ich mir an eurer Stelle Gedanken über die Methode machen, ob die nicht zu viel tut 😉
Mehrere Rückgabewerte einer Methode sind fast immer ein Hinweis darauf, dass sie mehr als eine Aufgabe erledigt und dann liegt es an euch, zu entscheiden, ob Ihr diese Aufgaben trennen könnt und wollt.

Sehr beliebte Beispiele, wo zwei Rückgabewerte völlig in Ordnung sind, wären die Try-Methoden (Mit out-Parameter: int.TryParse, DateTime.TryParse, etc.)

In ähnlichen Situationen könnte man auch auf die neuen ValueTuples seit C#7 zurückgreifen.
Mit den ValueTuples hat man nicht das Problem, dass man der Klasse einen Namen geben muss, denn man erkennt es an den der Typ-Definition. Das kann aber auch schnell zum Nachteil werden, wenn so die Typ-Definition zu groß wird und/oder man sie an zu vielen Stellen braucht.