匠人的百宝箱--单片机C程序员的n层境界
来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:26:49
[网络酷文]单片机C程序员的n层境界
程序匠人 发表于 2005-12-27 15:43:00 阅读全文(1201) |回复(0) |引用(0)
单片机C程序员的n层境界
杨工 发表于 12/25/2005 1:32:24 AM 侃单片机 ←返回版面
互相交流,欢迎拍砖,献丑了。
第一层 只见树木,不见森林
目标代码的长度和执行效率,忘记了采用C语言的本意。
其实有时斤斤计较个别语句,意义并不大,52的FLASH是51的2倍,价格贵不了多少。速度不够,可以选用6T, 2T, 甚至1T的51,或者选用某些非51系列。速度一下就上去了。成本并不增加。
速度和代码长度主要取决于算法,比如象查找表,计算sin(x)等。
第二层 模块化和结构化思想
功能划分合理,相关的函数放在一个文件里,每个文件尽量不超过1千行。
合理设置和分配函数功能,每个函数尽量不超过一页。
第三层 可读性和可修改性
多少次读自己以前写的程序发现看不懂了,痛定思痛
详尽的注释
认真定义每个变量名和函数名
定义常量代替立即数
合理利用宏定义
有时候,为了可读性好甚至不惜牺牲代码长度和执行速度。
第四层 写出不容易出错的程序,出错也能比较容易的找到错误点
程序比较大,尤其是几个人分工合写的程序,一个很小的错误可能找上三天三夜,最后发现错误出在意想不到的地方。
尽量避免全局变量,必要的全局变量尽量放在一个struct里
合理定义和使用数据结构
C++封装的思想,用文件封装Private变量和函数,.c对应的.h文件里只放Public函数原型和Public变量的extern说明。
严格检查每个输入参数,尤其是人机界面。
防范意外,比如数据区出界(C编译不检查)。编程的重点由主线转移到处理意外。
增加调试代码。
第n层
正在探索中...
_xyz
程序匠人 发表于 2005-12-27 15:43:00 阅读全文(1201) |回复(0) |引用(0)
单片机C程序员的n层境界
杨工 发表于 12/25/2005 1:32:24 AM 侃单片机 ←返回版面
互相交流,欢迎拍砖,献丑了。
第一层 只见树木,不见森林
目标代码的长度和执行效率,忘记了采用C语言的本意。
其实有时斤斤计较个别语句,意义并不大,52的FLASH是51的2倍,价格贵不了多少。速度不够,可以选用6T, 2T, 甚至1T的51,或者选用某些非51系列。速度一下就上去了。成本并不增加。
速度和代码长度主要取决于算法,比如象查找表,计算sin(x)等。
第二层 模块化和结构化思想
功能划分合理,相关的函数放在一个文件里,每个文件尽量不超过1千行。
合理设置和分配函数功能,每个函数尽量不超过一页。
第三层 可读性和可修改性
多少次读自己以前写的程序发现看不懂了,痛定思痛
详尽的注释
认真定义每个变量名和函数名
定义常量代替立即数
合理利用宏定义
有时候,为了可读性好甚至不惜牺牲代码长度和执行速度。
第四层 写出不容易出错的程序,出错也能比较容易的找到错误点
程序比较大,尤其是几个人分工合写的程序,一个很小的错误可能找上三天三夜,最后发现错误出在意想不到的地方。
尽量避免全局变量,必要的全局变量尽量放在一个struct里
合理定义和使用数据结构
C++封装的思想,用文件封装Private变量和函数,.c对应的.h文件里只放Public函数原型和Public变量的extern说明。
严格检查每个输入参数,尤其是人机界面。
防范意外,比如数据区出界(C编译不检查)。编程的重点由主线转移到处理意外。
增加调试代码。
第n层
正在探索中...
_xyz
匠人的百宝箱--单片机C程序员的n层境界
匠人的百宝箱--C语言的底层操作
匠人的百宝箱--什么叫锁相环
一个匠人的境界
匠人的百宝箱--《编程规范》大全
匠人的百宝箱--关于嵌入式系统方向!
匠人的百宝箱--匈牙利命名法
匠人的百宝箱--冷笑话系列
匠人的百宝箱--如何借助万用表检测可控硅
电阻式触摸屏结构和实现原理--匠人的百宝箱
匠人的百宝箱--一位高级程序员给学弟学妹的建议
匠人的百宝箱--谨以此文献给才毕业1--5年的朋友 !
电池供电产品的LED控制问题(2)--匠人的百宝箱
炒股的四层境界
管理的五层境界
炒股的五层境界
管理的五层境界
应聘c/c 程序员的笔试题
书法艺术的境界n
你有多少层吃的境界
你有多少层吃的境界
炒股技巧:炒股的九层境界
女人无敌的九层境界
炒股的四层境界6