Laden...

Methodenbenennung: GetPerson oder GetPersonById?

Erstellt von barzefutz vor 11 Jahren Letzter Beitrag vor 11 Jahren 944 Views
B
barzefutz Themenstarter:in
95 Beiträge seit 2007
vor 11 Jahren
Methodenbenennung: GetPerson oder GetPersonById?

Wenn ihr eine Methode habt, die als Parameter als Einziges eine ID annimmt und eine Person zurückgibt, wie würdet ihr diese dann nennen: GetPerson() oder GetPersonById()?

Man könnte argumentieren, der Zusatz ById erklärt bequemerweise gleich den Parameter mit, andererseits könnte man argumentieren, dass man den Parameter auch im IntelliSense sieht und deshalb kein Zusatz nötig ist.

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo barzefutz,

ich würde solche Zusätze nur verwenden, wenn es verschiedene Möglichkeiten gibt, bei denen der Parameter aber den gleichen Typ hat, z.B. GetPersonById(String id) und GetPersonByName(String name). Oder wenn aus einem anderen Grund die Bedeutung des Parameters besonders hervorgehoben werden soll, z.B. um sonst häufig auftretende Missverständnisse zu vermeiden. Ansonsten werden die Methoden durch einen solchen Zusatz nur unnötig aufgebläht, schön zu sehen bei z.B. GetPersonByForenameAndSurnameAndBirthday.

herbivore

B
barzefutz Themenstarter:in
95 Beiträge seit 2007
vor 11 Jahren

Danke herbivore, ich werde es so machen wie du sagst.

16.842 Beiträge seit 2008
vor 11 Jahren

Ich verwende alle Varianten; also GetPerson(), GetPersonByID() und auch GetPersonBySurnameAndOther()
Wobei es bei mir nur Get() aufgrund des Prinzip des Generic Repository dahingehend auch nur GetByID() heißt.

Ich bin nun aber dazu übergegangen mir quasi "QueryModels" zu bauen.

var queryModel = new PersonIDQuery { ID = 1 };
GetPerson(queryModel);

Abgeschaut hab ich mir dieses Prinzip vom IMongoQuery.


var queryID = Query.EQ("ID", entity.ID);
var queryNAME= Query.EQ("Name", entity.Name);

var queryOR = Query.Or( queryID, queryName );
var queryAND = Query.And( queryID, queryName );