C # gibt es eine schönere Art dies zu schreiben?

8
%Vor%

Dies ist ein Ajax-Handler, der prüft, ob alle übergebenen Parameter in Ordnung sind. Wird dies als schlecht angesehen, und gibt es einen besseren Weg dies zu schreiben, oder ist es nicht so wichtig?

    
Tom Gullen 09.02.2011, 10:00
quelle

6 Antworten

7

Angenommen, Sie verwenden die einzelnen bool -Variablen nicht anderswo, könnten Sie das als:

schreiben %Vor%

Vielleicht möchten Sie int.TryParse(context.Request.QueryString[name], out variable in eine separate Methode extrahieren, sodass Sie etwas wie folgt erhalten:

%Vor%

Alternativ könnten Sie alle diese Kontextdaten mit einer TryParse-Methode in einen neuen Typ kapseln, sodass Sie etwa Folgendes haben:

%Vor%

Das ist natürlich mehr Arbeit, aber ich denke, das würde den Code sauberer machen.

    
Jon Skeet 09.02.2011, 10:04
quelle
6

Ja, beginnen Sie, indem Sie Ihre int.TryParse(etc.) in eine separate Funktion ausschließen.

(Möglicherweise von F # übermäßig beeinflusst)

%Vor%

Dann:

%Vor%

Um Dinge etwas klarer zu machen, könnten Sie

%Vor%     
Benjol 09.02.2011 10:03
quelle
3

Ich würde wahrscheinlich für eine Formatierung wie diese gehen

%Vor%

Aber ich sehe nichts falsch mit Ihrem Ansatz.

    
Stilgar 09.02.2011 10:05
quelle
2

Eine Sache, die Sie tun können, ist dies zu ersetzen:

%Vor%

Mit diesem

%Vor%     
Øyvind Bråthen 09.02.2011 10:02
quelle
1
%Vor%     
Turrau 09.02.2011 10:08
quelle
0

Sie könnten einen Helfer schreiben, der den hässlichen out -Übergabe-Stil von TryParse beseitigt, wie zum Beispiel:

%Vor%

Und dann (vorausgesetzt, Sie sind nur an der Gültigkeit interessiert):

%Vor%

Wenn Sie die einzelnen Werte benötigen:

%Vor%

Dies behält fast die gleichen Informationen wie zuvor bei, außer dass die feinkörnigen Informationen eine Suche und nicht einen Zugriff auf lokale Variablen benötigen.

    
Ani 09.02.2011 10:25
quelle

Tags und Links