[Code Complete]Part4:Stament(CH14,15,16,17,18,19)

1.       尽量编写直线型的代码,还需要说明语句之间的代码关系。

Ø  这个例子中,使用参数表示了语句之间的依赖关系。

Ø  希望能够自上而下的进行阅读代码。

Ø  如果依赖不明显需要写一些注释说明。

2.       在If-else语句中,将处理正常情况的语句放在前面。

3.       在多个if-else语句中,将出现概率最高的放在前面。

4.       Case的语句,需要注意case的顺序需要有顺序。

Ø  按字母顺序,正常情况放前面,执行频率,

Ø  Default不能随便用,必须是真正需要default的时候才用。不能为了抓住异常就用。

Ø  不要为了switch创建对象,这样的情况用if-else的连接更好。

5.       While循环中,在开头或者结尾的时候操作循环终止条件,保证会执行到。一般开头。

6.       可以多使用For循环,但是不能乱用,下面是个例子

7.       对于循环终止条件复杂的语句,可以使用有意义的变量名来代替复杂的表达式,或者使用子程序。

8.       在for循环中,需要避免依赖执行完之后,依赖下标的代码。这种情况比较普遍。

9.       在循环中时,将continue和break语句放在开头是比较好的做法。

10.   限制循环的长度,一般小于50,必要时使用子程序。

11.   在函数中尽量减少return语句的数量。但是针对,例如函数开头检查有效性等(防卫子句),有助于提高可读性的return,还是多一点好。

12.   递归函数要限定在一个子函数内部。

13.   表驱动法

针对某些需要查询等的问题,表驱动是不错的解决方案,可以有效降低复杂度。

帅气的解决方案:

Ø  需要注意的是,创建查询键值的时候需要注意。可以考虑将转换过程写成子程序。

Ø  降低空间复杂度,可以考虑建立索引。

Ø  对于类似ABCD对应分数的查询,可以使用阶梯查询,外加二分查找的方法实现。

14.   布尔表达式

Ø  简化复杂的布尔表达式(子函数,有意义变量)

Ø  不用0,1表示。

Ø  尽量使用肯定的布尔表达式,作为判断条件。

Ø  加括号,不丢人。

Ø  短路的时候,需要考虑顺序问题。比如判断NULL的放在前面。

Ø  按数轴写条件。

Ø  把常量写在左边,一个是防止写错“==”,另一个防止null point exception

15.   减少子函数的复杂度,减少嵌套和分支语句。嵌套小于3层,分支小于5句。

 

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值