簡體   English   中英

有什么思維技巧可以在帶有大量條件邏輯的程序中快速推斷出所需的if / els?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM