我必須採取一塊數據,並將大量可能的變量應用到它。我真的不喜歡使用大量if語句的想法,所以我正在尋求一種簡化方法的幫助,並使其更易於維護。編程高度複雜的商業/數學規則的最佳方法
作爲一個例子:
if (isSoccer)
val = soccerBaseVal;
else if (isFootball)
val = footballBaseVal;
.... // 20 different sports
if (isMale)
val += 1;
else
val += 5;
switch(dayOfWeek)
{
case DayOfWeek.Monday:
val += 12;
...
}
等。等。等。與可能在100-200不同的測試和式變化的範圍內。
這看起來像是一個維修噩夢。有什麼建議麼?
編輯:
爲了進一步增加的問題,許多變量只在某些情況下使用,所以它不僅僅是一組固定邏輯的不同值的更多。邏輯本身必須根據條件進行更改,可能會從以前的變量中應用條件(例如val> threshold)。
所以是的,我同意使用查找許多值,但我也必須有變量邏輯。
可能的重複:http://stackoverflow.com/questions/1607252/how-to-simplify-complicated-business-if-logic – 2010-06-29 18:30:50