Ich möchte diesen Hokuspokus einer Methode umgestalten, um es lesbarer zu machen, es hat viel zu viele verschachtelte IF's für meinen Geschmack.Refactor verschachtelte IF-Anweisung für Klarheit
Wie würden Sie dies umgestalten?
public static void HandleUploadedFile(string filename)
{
try
{
if(IsValidFileFormat(filename)
{
int folderID = GetFolderIDFromFilename(filename);
if(folderID > 0)
{
if(HasNoViruses(filename)
{
if(VerifyFileSize(filename)
{
// file is OK
MoveToSafeFolder(filename);
}
else
{
DeleteFile(filename);
LogError("file size invalid");
}
}
else
{
DeleteFile(filename);
LogError("failed virus test");
}
}
else
{
DeleteFile(filename);
LogError("invalid folder ID");
}
}
else
{
DeleteFile(filename);
LogError("invalid file format");
}
}
catch (Exception ex)
{
LogError("unknown error", ex.Message);
}
finally
{
// do some things
}
}
Was ist das für eine Hausaufgabe Zuordnung? Dupe von http://stackoverflow.com/questions/348562/refactor-this-nested-if-function-that-is-wrapped-in-trycatch – jmucchiello
nein, seine "Arbeit" Zuweisung :) – Blankman
Negative Rückmeldung nur tut der Website weh, eines Tages werden sie das vielleicht aufgreifen. Wie auch immer, das war die Frage, die ich stellen wollte. Bis abstimmen. – QueueHammer