沒有任何人有一個優化的邏輯如下如果... else條件.....
方案
優化的邏輯
- 三個日期參數是有:DateFrom,DateUntil和NewDateUntil。
If DateFrom <= DateNewUntil And DateUntil > NewDateUntil then
添加一個警告信息,並返回trueIf DateFrom > DateNewUntil And DateUntil > DateNewUntil then
添加一個警告信息,並返回falseIf DateUntil < DateNewUntil
然後就returns true
。
原始代碼在下面評論。嘗試了一些優化。
請看看。
代碼
public bool ValidateDate(DateTime pDateFrom, DateTime pDateUntil, DateTime pNewDateUntil)
{
////Original Code
//if ((pDateUntil.Date > pNewDateUntil.Date))
//{
// if ((pDateFrom.Date <= pNewDateUntil.Date))
// {
// pDateUntil = pNewDateUntil;
// AddWarningMessage("Warning Message");
// return true;
// }
// else if ((pDateFrom.Date > pNewDateUntil.Date))
// {
// AddWarningMessage("Warning Message");
// return false;
// }
//}
//else
//{
// return true;
//}
//Optimized As:
bool returnValue = false;
if ((pDateUntil > pNewDateUntil.Date))
{
returnValue = pDateFrom <= pNewDateUntil.Date ? true : false;
AddWarningMessage("Warning Message");
}
else
{
returnValue = true;
}
return returnValue;
}
「優化邏輯」是什麼意思? – dougajmcdonald 2013-05-06 07:52:42
你可以刪除'?順便說一句,真:假。 (雖然沒有對其進行優化,但確實使它不那麼奇怪) – harold 2013-05-06 07:53:07
有時候最好不要優化並犧牲可讀性。我發現這對於日期邏輯尤其如此 – Steve 2013-05-06 07:55:44