|
引用 113 楼 knate 的回复:
不错.这只不过是一些编程的规范化问题.是习惯问题不是编程水平.只不过是些放之天下皆准的习惯,说难听点只不过是照本宣读.
单片机编程的真正的水平应该是那些对硬件接口的操作.对可怜的有限ram和rom进行有效稳定的分配和操作.
什么模块化,可维护性,易读性,封装等等方面,就现在普遍的单片机编程人员来讲,应该都是知道的.知道是一回事,能不能用上就是另一回事.
有限的硬件较苛刻条件下,这些只能进行妥协.时间,空间,实时性,硬件稳定性,哪方面不需要考虑?
(遇到过rom差几行不够用的情况嘛?我朋友用的是汇编写的.弄得他整个项目代码估计30%重写,他工作时间不长,只不过5年尔尔.鄙人没有遇过,比较幸运,大部分项目可以自己定芯片型号^_^)
“不错.这只不过是一些编程的规范化问题.是习惯问题不是编程水平.只不过是些放之天下皆准的习惯,说难听点只不过是照本宣读.”
我之所以要把我写的代码贴上来就是不想泛泛而谈,那样很空洞没有说服力。难道knate对贴上来的代码视而不见吗?怎么就得出了个“照本宣科”的结论?
“什么模块化,可维护性,易读性,封装等等方面,就现在普遍的单片机编程人员来讲,应该都是知道的.知道是一回事,能不能用上就是另一回事.”
我想更主要的原因是“知道是一回事,想不想用上就是另一回事”吧?从来就不去考虑怎么可能做到呢?我也一再强调,程序的可读性、模块化等的实现很多时候是举手之劳的事情,不是需要考察调研最后费时费力完成的事情。难就难在是否有一根神经想着这件事。
“遇到过rom差几行不够用的情况嘛?我朋友用的是汇编写的.弄得他整个项目代码估计30%重写,他工作时间不长,只不过5年尔尔.”
这个例子可以说有说服力,也可以说很没有说服力。没有说服力的理由如下:
1、工作时间和工作能力一定是线性比例关系吗?5年的工作经验就说明他能配得上五年应有的工作能力吗?
2、汇编的代码一定就比c写的ram占用小、rom占用少、运行效率高吗?
3、他又重写了30%的代码说明了什么?恰恰说明了之前他的程序结构、模块化等的问题没有考虑好,而导致了最后不得不重写。重写了之后就可以用了,这恰恰又说明了程序的优化、重构是非常重要的,不可轻视
|
|