Там какие-либо инструменты должны помочь с комплексом 'если' логика?

Вы возвращаете строковое значение.

Private v_DateOfBirth As Date
Public ReadOnly Property DateOfBirth() As String
    Get
        Return v_DateOfBirth.ToString("MMMM dd, yyyy")
    End Get
End Property
10
задан teedyay 5 March 2010 в 15:02
поделиться

10 ответов

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

Основные операторы, и другие основные законы de Morgan, таблицы истинности, и существование, например, дизъюнктивые и соединительные нормальные формы были разоблачением мне. Прежде чем я узнал о них, условные выражения чувствовали себя подобно опасным зверям. С тех пор я знаю, что могу хлестать их в представление каждый раз, когда необходимо, вспыхивая тяжелая артиллерия!

17
ответ дан 3 December 2019 в 14:25
поделиться

Таблицы истинности являются в основном исчерпывающим подходом и (надо надеяться) выделят все возможности.

Вы хотели бы смотреть на Microsoft Pex, которая может быть полезной для определения случаев края, о которых Вы не думали.

5
ответ дан 3 December 2019 в 14:25
поделиться

Таблицы истинности и модульные тесты - чертят таблицы (n размерный для n переменных) и затем используют их в качестве исходных данных к Вашему модульному тесту, который может протестировать каждую комбинацию переменных и проверить результаты.

3
ответ дан 3 December 2019 в 14:25
поделиться

Самая большая проблема, которую я видел в течение лет со сложной IFS, состоит в том, что люди не тестируют все ответвления. Удостоверьтесь, что записали тест для каждого возможного ответвления, неважно, как вряд ли кажется ударом его.

2
ответ дан 3 December 2019 в 14:25
поделиться

Вы могли бы также хотеть попробовать карты Karnaugh, которые хороши максимум для 4 переменных.

2
ответ дан 3 December 2019 в 14:25
поделиться

Если бы Вы уже не имеете, я высоко предложил бы читать Завершенный Код. Это имеет большой совет относительно тем, таких как это. У меня нет своей копии удобной в данный момент, иначе я отправил бы сводку этого раздела в книге.

1
ответ дан 3 December 2019 в 14:25
поделиться

Какая-либо причина Вы не можете только обработать логику с защитными операторами?

0
ответ дан 3 December 2019 в 14:25
поделиться

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

0
ответ дан 3 December 2019 в 14:25
поделиться

Карты Karnaugh могут быть хорошими способами взять информацию из таблицы истинности (предложенный Обликом) и превратить их в компактные and/or/not выражения. Они обычно преподаются в курсе цифровой логики EE.

0
ответ дан 3 December 2019 в 14:25
поделиться

Пробовали ли вы использовать паттерн проектирования? Вы могли бы изучить так называемый паттерн стратегии: http://en.wikipedia.org/wiki/Strategy_pattern

0
ответ дан 3 December 2019 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: