Я хочу реорганизовать этот mumbo jumbo метода, чтобы сделать его более читаемым, у него есть путь для многих вложенных IF для моей симпатии.Refactor вложенный оператор IF для ясности
Как бы вы реорганизовали это?
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
}
}
Что такое домашнее задание назначение? Dupe http://stackoverflow.com/questions/348562/refactor-this-nested-if-function-that-is-wrapped-in-a-trycatch – jmucchiello 2008-12-10 14:48:16
нет, его назначение «РАБОТА» :) – Blankman 2008-12-10 15:50:19
Отрицательная обратная связь только болит сайт, когда-нибудь они могут это понять. В любом случае, это был вопрос, который я собирался спросить. Проголосовать. – QueueHammer 2010-02-16 21:10:41