[英]Any mental technique to quickly deduce the required ifs/elses in a program with A LOT of conditional logic?
通常在編程中,一個非常普遍的要求是某些功能將需要很多條件邏輯,但還不足以保證規則引擎。
例如,測試一個數字可被x整除,但也可以是某物的倍數,某物的因數,某物的平方根等。正如您可以想象的那樣,沿着這條線的某物很容易涉及很多if / els。
盡管可以使用更現代的編程技術來減少混亂,但是您如何快速地並以計算得出的推論得出所需的if / els?
例如,在一個為汽車保險潛在客戶推論必要報價的程序(順便說一句規則引擎)中,將存在條件邏輯,用於年齡,位置,駕駛點,這些點的收集年齡等。快速推論冗余條件分支的思維技巧? 只是單純的經驗,沒有特殊的心理技巧嗎? 這很重要,因為結對編程會產生很大的噪音,因此很難通過思考甚至獲得足夠的時間來實施該想法。
謝謝
我建議嘗試在您的頭腦中做這種事情會帶來麻煩,而嘗試與伴侶一起做將會使事情變得更糟。 有時您必須坐下來思考,甚至在紙上做筆記。 如果您不喜歡命題邏輯,請嘗試決策表 。
我將添加簡單,易讀,簡短的方法,例如:
IsMinor(..)
IsRecordClean(..)
然后結合使用它們來創建具有有意義名稱的新方法,例如:
IsMeetingPreReqs(..) //which checks several "simple" conditions
IsValidForInsurance(..)
(對不起,這些示例,我在這里用英語掙扎,但是您明白了。)
IMO將使您的代碼更加清晰,從而減少因干擾而感到困惑的機會。
本身不是精神上的,但是有點..
我會說你應該使用命題邏輯。 建議:q =年齡大於18歲
p =位置在10英里內
r =驅動點小於3
s =收集分數時年齡小於18歲
你可以說...
(^ is AND)
if (q ^ p ^ r ^ s) {
//you are eligible or something!
} else {
//get outta here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.