 
- UID
- 139483
- 性别
- 男
|
第一层 只见树木,不见森林 目标代码的长度和执行效率,忘记了采用C语言的本意。 其实有时斤斤计较个别语句,意义并不大,52的FLASH是51的2倍,价格贵不了多少。速度不够,可以选用6T, 2T, 甚至1T的51,或者选用某些非51系列。速度一下就上去了。成本并不增加。 速度和代码长度主要取决于算法,比如象查找表,计算sin(x)等。
第二层 模块化和结构化思想 功能划分合理,相关的函数放在一个文件里,每个文件尽量不超过1千行。 合理设置和分配函数功能,每个函数尽量不超过一页。
第三层 可读性和可修改性 多少次读自己以前写的程序发现看不懂了,痛定思痛 详尽的注释 认真定义每个变量名和函数名 定义常量代替立即数 合理利用宏定义 有时候,为了可读性好甚至不惜牺牲代码长度和执行速度。
第四层 写出不容易出错的程序,出错也能比较容易的找到错误点 程序比较大,尤其是几个人分工合写的程序,一个很小的错误可能找上三天三夜,最后发现错误出在意想不到的地方。 尽量避免全局变量,必要的全局变量尽量放在一个struct里 合理定义和使用数据结构 C++封装的思想,用文件封装Private变量和函数,.c对应的.h文件里只放Public函数原型和Public变量的extern说明。 严格检查每个输入参数,尤其是人机界面。 防范意外,比如数据区出界(C编译不检查)。编程的重点由主线转移到处理意外。 增加调试代码。
第n层 正在探索中... |
|