代码大全笔记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
决定如何测试子程序,测试用例,测试驱动开发
在程序库中寻找已经实现的接口类
考虑下错误处理
考虑效率问题,这个实践中需要进一步验证,看到底效率在什么情况下重要,什么时候考虑优化代码。
研究算法和数据类型
编写伪代码,这个我个人习惯是在纸上写出伪代码,在伪代码逻辑没有走通的情况下,不要下手写代码,
这样只会东拼西凑,在编写的过程中,纠结与细节,迷失目的。
编写好伪代码后检查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
相关文章推荐
- 面向对象之数据抽象_代码大全笔记(一)
- 代码大全2笔记-第三章-前期准备
- 面向对象之类的设计_代码大全笔记(二)
- 代码大全2笔记-第四章-“构建”前的决策
- 代码大全笔记
- 七遍代码大全笔记:全部
- ROBOTS.TXT屏蔽笔记、代码、示例大全
- 代码大全2笔记-第二章-隐喻
- CODE COMPLETE NOTES 代码大全笔记 软件中的隐喻
- 面向对象之子程序的设计及防御编程_代码大全笔记(三)
- 代码大全笔记
- 读代码大全二笔记之关于设计启发得总结
- 代码大全阅读笔记
- 代码大全第二版阅读笔记
- 代码大全2笔记-第一章-软件构建
- 代码大全1-3章笔记
- 代码大全笔记
- 代码大全(第二版)笔记——高质量的子程序
- 代码大全(code complete)学习笔记 (1)
- CODE COMPLETE NOTES 代码大全笔记 (SOFTWARE CONSTRUCTION)软件构建