最近对一个同事的代码进行重构
第1步
对参数中有 bool值的拆分
原代码如下:
private bool CheckIsInFreeTimes(GetDataForValidateLotteryResultModel data, bool isHelp)
{
bool isFree = false;
if (data.FreeTimes > 0 && (isHelp == false && data.AlreadyTakeNum < data.FreeTimes || isHelp == true && GetFriendTakeTimes(data) < data.FreeTimes))
{
isFree = true;
}
return isFree;
}
重构后
private static bool CheckIsInFreeTimesBySelf(GetDataForValidateLotteryResultModel data)
{
if (data.FreeTimes <= 0) return false;
if (data.AlreadyTakeNum >= data.FreeTimes) return false;
return true;
}
private static bool CheckIsInFreeTimesByHelper(GetDataForValidateLotteryResultModel data)
{
if (data.FreeTimes <= 0) return false;
if (GetFriendTakeTimes(data) >= data.FreeTimes) return false;
return true;
}
重构后,代码清晰明了