我的代码非常混乱if – else如果检查它正在做什么.分支和嵌套分支的数量非常大(如果是 – 否则超过20,否则也是嵌套的).它使我的代码更难以阅读,并可能是一个性能损失.我的应用程序检查它从用户获得的很多条件,因此应用程序必须始终检查不同的情况,例如:
如果文本框文本不为0,请继续下一步…
if ((StartInt != 0) && (EndInt != 0))
{
然后在这里检查用户是否选择了日期:
if ((datePickerStart.SelectedDate == null) || (datePickerEnd.SelectedDate == null))
{
MessageBox.Show("Please Choose Dates");
}
在这里,如果datepickers不为null,则继续代码…
else if ((datePickerStart.SelectedDate != null) && (datePickerEnd.SelectedDate != null))
{
// CONDITIONS FOR SAME STARTING DAY AND ENDING DAY.
if (datePickerStart.SelectedDate == datePickerEnd.SelectedDate)
{
if (index1 == index2)
{
if (StartInt == EndInt)
{
if (radioButton1.IsChecked == true)
{
printTime3();
}
else
{
printTime();
}
}
这只是正在进行的检查的一小部分.其中一些是功能,一些是输入验证的东西.
有没有办法让它更具可读性,而不是性能损失?
解决方法
这不是一场表演生猪.关于如何解决这些常见问题的精彩博文是
Flattening Arrow Code.