0

多くの場合、プログラミングでは、一部の機能に多くの条件付きロジックが必要になることが非常に一般的な要件ですが、ルールエンジンを保証するには十分ではありません。

たとえば、数値のテストはxで割り切れますが、何かの倍数、他の因数、何かの平方根などもあります。ご想像のとおり、これらの線に沿った何かには、多くのif/elsesが含まれます。

より現代的なプログラミング技術で混乱を減らすことは可能ですが、どのようにして迅速に、そして計算された方法で、必要なif / elsesを推測しますか?

たとえば、自動車保険の見込み客に必要な見積もりを推測するプログラム(エンジンは別として)には、年齢、場所、運転ポイント、それらのポイントが収集される年齢などの条件付きロジックがあります。冗長な条件付きブランチをすばやく推測するためのメンタルテクニック?それは単なる経験であり、特別な精神的技術はありませんか?ペアプログラミングにはノイズが多く、実際に何かを考えたり、アイデアを実装するのに十分な時間をとったりするのが難しいため、これは重要です。

ありがとう

4

3 に答える 3

3

この種のことを頭の中でやろうとすると問題が発生し、パートナーと一緒にやろうとするとさらに悪化することをお勧めします. 座って考え、紙にメモをとらなければならないこともあります。命題論理が気に入らない場合は、意思決定表を試してください。

于 2010-10-01T21:02:50.030 に答える
1

次のようなシンプルで読みやすい短いメソッドを追加します。

IsMinor(..)  
IsRecordClean(..)

次に、それらを組み合わせて使用​​して、次のような意味のある名前の新しいメソッドを作成します。

IsMeetingPreReqs(..)   //which checks several "simple" conditions
IsValidForInsurance(..)   

(例で申し訳ありません。ここで英語に苦労していますが、要点はわかります..)

IMO を使用すると、コードがより明確になり、気が散って混乱する可能性が減少します。
精神的なものではないけど、ちょっと..

于 2010-10-01T21:04:07.583 に答える
0

命題論理を使うべきだと思います。提案:q=年齢が18歳以上
p=場所が10マイル以内
r=運転ポイントが3未満
s=ポイントが収集されたときの年齢が18歳未満

あなたは言えた...
(^ is AND)
if (q ^ p ^ r ^ s) {
//you are eligible or something!
} else {
//get outta here
}

于 2010-10-01T20:34:38.227 に答える