myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Vorgaben in Namensgebung für Klassen, die als Rückgabetyp genutzt werden?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

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

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
maccinoo
myCSharp.de-Mitglied

Dabei seit: 09.04.2009
Beiträge: 20


maccinoo ist offline

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

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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?

C#-Code:
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
06.12.2019 10:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.379
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T-Virus am 06.12.2019 11:08.

06.12.2019 11:08 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
witte
myCSharp.de-Mitglied

Dabei seit: 03.09.2010
Beiträge: 840


witte ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Warum verwendest du keine Exceptions für den konkreten Anwendungsfall?
06.12.2019 11:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
maccinoo
myCSharp.de-Mitglied

Dabei seit: 09.04.2009
Beiträge: 20

Themenstarter Thema begonnen von maccinoo

maccinoo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@T-Virus

Danke, hat mir sehr geholfen.

Marc
06.12.2019 11:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
maccinoo
myCSharp.de-Mitglied

Dabei seit: 09.04.2009
Beiträge: 20

Themenstarter Thema begonnen von maccinoo

maccinoo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@witte

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

Marc
06.12.2019 11:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.363
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
06.12.2019 11:32 Beiträge des Benutzers | zu Buddylist hinzufügen
maccinoo
myCSharp.de-Mitglied

Dabei seit: 09.04.2009
Beiträge: 20

Themenstarter Thema begonnen von maccinoo

maccinoo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

und ABT hat Recht mit "Absoluter Quatsch".
Danke auch für Deinen Beitrag :-)
06.12.2019 11:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.210
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Palladin007 am 06.12.2019 14:20.

06.12.2019 14:20 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Monat.
Der letzte Beitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.01.2020 06:35