Любой умственный метод, чтобы быстро вывести требуемые if / elses в программе с МНОГО условной логики? - PullRequest
0 голосов
/ 02 октября 2010

Часто в программировании очень распространенным требованием является то, что для некоторой функциональности потребуется много условной логики, но этого недостаточно для обеспечения механизма правил.

Например, тестирование числа делится на x, но также кратно чему-то, множителю чего-то другого, квадратному корню чего-то и т. Д. Как вы можете себе представить, что-то в этом направлении будет легко включать много ifs /elses.

Хотя можно уменьшить беспорядок с помощью более современных методов программирования, как вы быстро и, вычисляя фашон, выведите необходимые ifs / elses?

Например, в программе, позволяющей вывести необходимую квоту для потенциального покупателя по страхованию автомобиля (кстати, кроме двигателей), будет существовать условная логика для возраста, местоположения, точек вождения, возраста, в котором эти баллы и т.д. Есть ли какая-нибудь ментальная техника для быстрого вывода избыточных условных ветвей? Это простой опыт и никакой особой умственной техники? Это важно, потому что в парном программировании много шума и, следовательно, трудно что-то продумать или даже получить достаточно времени для реализации идеи.

Спасибо

Ответы [ 3 ]

3 голосов
/ 02 октября 2010

Я бы предположил, что попытка сделать что-то подобное в вашей голове - это напасть на неприятности, а попытка сделать это с партнером значительно ухудшит ситуацию.Иногда приходится сидеть, думать и даже делать заметки на бумаге.Если вам не нравится логика высказываний, попробуйте таблицы решений .

1 голос
/ 02 октября 2010

Я бы добавил простые, удобочитаемые, короткие методы, такие как:

IsMinor(..)  
IsRecordClean(..)

, а затем использовал бы их вместе для создания новых методов со значимыми именами, таких как:

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

(Извините за примеры, я борюсь с моим английским здесь, но вы понимаете ...)

IMO, которое сделает ваш код намного понятнее, и, таким образом, уменьшит вероятность того, что вас будут смущать отвлекающие факторы.
Не психическое само по себе, но вроде ..

0 голосов
/ 02 октября 2010

Я бы сказал, что вы должны использовать логику высказываний. Предполагают, что: q = возраст старше 18 лет
р = расположение в пределах 10 миль
r = точки вождения менее 3
s = возраст меньше 18 лет, когда набираются баллы

Вы могли бы сказать ... <br /> (^ is AND)<br /> if (q ^ p ^ r ^ s) {<br /> //you are eligible or something!<br /> } else {<br /> //get outta here<br /> }

...