我的代码非常混乱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.