您的位置:首页 > 编程语言

代码大全笔记2

2015-05-03 19:43 155 查看
伪代码编程步骤

决定如何测试子程序,测试用例,测试驱动开发

在程序库中寻找已经实现的接口类

考虑下错误处理

考虑效率问题,这个实践中需要进一步验证,看到底效率在什么情况下重要,什么时候考虑优化代码。

研究算法和数据类型

编写伪代码,这个我个人习惯是在纸上写出伪代码,在伪代码逻辑没有走通的情况下,不要下手写代码,

这样只会东拼西凑,在编写的过程中,纠结与细节,迷失目的。

编写好伪代码后检查list:

检查接口,参数是否合理,参数是否都用到了

检查设计,是否解耦和等

检查循环与逻辑,是否存在死循环的情况,是否有off by one的错误,时候资源泄露,错误的嵌套

循环体的控制摘要

计数循环,即固定次数的循环

连续求职循环,即带退出的循环,通过break continue关键字

无线循环

迭代器循环

在循环的判断条件中可使用德摩根定律简化代码

非(P 且 Q)=(非 P)或(非 Q)
非(P 或 Q)=(非 P)且(非 Q)

一个循环只做一件事,如果用两个循环效率会低下,可以先写上注释合并效率会高,等测试数据需要优化时再去合并他们

安全计数器,安全计数器就是一个变量,在每次循环的时候数值加一,在循环内做一个判断,如果这个值超出预先设置的一个最大阈值,退出循环。是一种保证安全的策略

break,和continue的解释,他们只能作用于最内层的循环,对外层的嵌套不起作用,详细用法:http://blog.csdn.net/luoweifu/article/details/10756017

一种使用continue的好方法是,在循环处做完条件判断后让代码越过剩下的循环体继续执行,这样可以避免{}缩进

递归实现迷宫,使用递归能实现的程序也可以用栈和循环来实现。使用递归的地方应该留意栈空间的分配,可使用安全计数器来测试,解决占空间溢出的可能。

表驱动法:

一个简单的例子一年中每个月的天数,如果需要写if else的话会非常的冗长,

可以把数值存储在一个数组中,这样用arr[month-1]=days
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息