博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
减少程序中的判断
阅读量:6927 次
发布时间:2019-06-27

本文共 727 字,大约阅读时间需要 2 分钟。

如果判断过多,也许令程序变得复杂,或许日后还有条件添加时,维护起来可想而知。Insus.NET有看到论坛一个网友帖出问题的代码:

它的问题是Session的判断,判断Session 是否为空,正确方法应该是:

Session["xxx"] != null

现在,我们在这里不讨论问题与原因,讨论的是怎样设计下拉菜单与减少条件的判断。从两段代码来看,网友是在前一页放在下拉菜单,让用户选择,并在文本框中输入一些值,来转向第二页再判断对选择的条件进行查询。
不管第一代码代码,还是第二段代码,If很多,也就是说,条件判断很多。日后有可以还要添加。只要有条件修改,网友就得两个地方同时修改,改了第一代码,第二段代码也必须同时修改。
从第二代码来看,网友是想用户搜索一个表中某一些字段。  些字段名在第一段代码下拉式菜单中,改用了一个通俗的名称来给用户看见与好理解。网友想到了,是不错了,但没有设计好,带来了程序的复杂度。怎样说法?
下拉式菜单DropDownList中两个属性,一个Value,一个Text, Text是内容是显示给用户看到的,而Value是给程序员使用的。因此在设计DropDownList的数据源时,应该是字段名对应通俗名。[author]  <---> 作者 ; [bookName]  <---> 书名 等等。
这样子,用户在第一页的DropDownList看到的选择,还是作者,书名...等。在程序处理时,选择是,就是真正的字段名。这样做有什么好处吧,可以从面的重构程序中看得出来。
第一段代码,可以重构为下面的样子:
第二代码,就可以重构为:
重构之后,也许你不会有机分再修改这两段代码了。只是对DropDownList的数据源增减而已。

转载地址:http://fzkjl.baihongyu.com/

你可能感兴趣的文章
'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique
查看>>
Java知多少(87)选择框和单选按钮(转)
查看>>
股票作手回忆录Digest(转)
查看>>
Java Date API demo
查看>>
SPOJ SUBST1 后缀数组
查看>>
C#中,使用正则表达式匹配获取所需数据
查看>>
Codeforces #270 D. Design Tutorial: Inverse the Problem
查看>>
Recurrent Neural Network 学习笔记【二】RNN-LSTM
查看>>
css 使div垂直、水平居中
查看>>
android ListView几个比较特别的属性
查看>>
7、正则表达式
查看>>
android设备适配
查看>>
算法题:整形数组找a和b使得a+b=n
查看>>
mysql优化建议大全
查看>>
C#.Net Mvc运营监控,计算方法/接口/action/页面执行时间
查看>>
存储过程分页方案
查看>>
扫盲 Linux:如何选择发行版
查看>>
色版黑莓Bold9900已经登岸香港市场
查看>>
报表服务入门(实验3)配置虚拟目录
查看>>
联合类型(union type )
查看>>