Frage : refactoring Code

Ich habe ein Stück des Codes, der wie dieses aussieht:


Fall NGX_MAIL_PARSE_ARGS_COMMAND:
s->state = 0;
s->out.len = sizeof (imap_invalid_args_command) - 1;
s->out.data = imap_invalid_args_command;
s->mail_state = ngx_imap_start;
Bruch;

Fall NGX_MAIL_PARSE_INVALID_COMMAND:
s->state = 0;
s->out.len = sizeof (imap_invalid_command) - 1;
s->out.data = imap_invalid_command;
s->mail_state = ngx_imap_start;
Bruch;
}

Both die Fallstrukturen tun das genaue die gleiche Sache, IE berechnen sie die Größe für s->out.len und weisen die Daten sout.data…

the nur Sache zu, die ist die Mitteilung… im ersten Fall ändert, den, es ist (imap_invalid_args_command und im zweiten Fall es imap_invalid_command…

how ist, kann i verbessern schreiben diesen Code, um Codeverdopplung zu vermeiden?

should gab ich den Code in eine Funktion ein?
should schreibe ich ein Makro?
can tue ich etwas like

case 1:
case2:
same code



Antwort : refactoring Code

Ich denke, dass die beste Lösung eine ist, die hier von irgendeinem der zwei Experten dargestellt wird. Ich würde sagen…

  • Das datastore abnehmen 
  • Das edb und den STM kopieren 
  • Ihr NT-Unterstützungsdienstprogramm laufen lassen, das mit Windows-Server kommt. 
  • und die datastores wieder anbringen.   

Im Verstand bitte halten, dass dieses gerade eine Annäherung ist, die erfolgt werden sollte, wenn Sie wissen, was Sie tun.  Sind hier einige Plätze auf, wie man erhält mehr Informationen…

http://technet.microsoft.com/en-us/library/aa996179(EXCHG.65).aspx

http://technet.microsoft.com/en-us/library/aa997165(EXCHG.65).aspx

Viel Glueck.

Weitere Lösungen  
 
programming4us programming4us