flexxxxer / TXT_FrameTimeHandler

frame time analyser tool
MIT License
22 stars 2 forks source link

Упрощение кода #2

Closed ivzherebtsov closed 5 years ago

ivzherebtsov commented 5 years ago

Предлагаю немного упростить код: метод ProcessFrameViewFile(string path) в файле FrameViewDataProcessing.cs и ProcessFrapsFile(string path) FrapsDataProcessing.cs

try {
    ...
    return new Maybe<FramesData>( new FramesData( framesTimes )  ); 
}
catch (Exception)
{
    return Maybe<FramesData>.None;
}
finally 
{
    if (fs != null) fs.Dispose();
    if (bs != null) bs.Dispose();
    if (sr != null) sr.Dispose();
}

Для того, чтобы: 1 -убрать лишние проверки на null (они будут выполнены в любом случае, т.к. находятся в блоке finally) 2 - упростить код и, возможно, немного ускорить выполнение Метод вернет: ОШИБОК НЕТ: Maybe<FramesData>( new FramesData( framesTimes) ) ОШИБКИ ЕСТЬ: Maybe<FramesData>.None

Затем будут вызваны Dispose у не null-переменных если ошибки нет, сначала вызовет Dispose у не null-переменных, а затем вернет

flexxxxer commented 5 years ago

Fixed with commit dee2b817ac6cf62dd8c28cf8cbad9c4e26bd7709