Je veux refactoriser ce mumbo jumbo d'une méthode pour le rendre plus lisible, il a beaucoup de IF imbriqués à mon goût.Réflexion emboîtée IF déclaration pour plus de clarté
Comment voulez-vous refactoriser cela?
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
}
}
Quel est ce un devoir affectation? Dupe de http://stackoverflow.com/questions/348562/refactor-this-nested-if-function-that-is-wrapped-in-a-trycatch – jmucchiello
non, son affectation 'WORK' :) – Blankman
Négatif en retour fait mal au site, un jour, ils peuvent ramasser sur ce point. De toute façon, c'était la question que j'allais poser. Vote – QueueHammer