|
不敢自称作高手,但有些写程序的经验拿出来和大家分享
首先我希望大家明白,控制高手跟程序高手是两个概念
控制高手需要的是算法的功底,而程序高手需要的是设计及编码的功底
在我所在的团队中,这是两个角色,尽管有时是由一个人承担。
先来说说程序设计
如果你想写好程序,光是C/C++语法或汇编语法的熟练掌握那是没有用的,甚至说,语言的熟练和你实际的变成水平不一定有直接的关系
的确,一个语法纯熟的程序员在处理一个简单问题的时候可能会非常快速,但,那仅限于千行以内的小程序。
一旦你的程序规模上升到了几千行或者更多,你面临的问题将不再是使用的语言本身所具有的问题了,这时,你将需要以下的技巧来帮你解决问题
1、代码书写规范
可能很多人会奇怪,为什么我把代码书写规范放在了第一位。
其实答案很简单:规范代码的书写方式将是改变你代码质量最简洁有效的方法!它既不象设计模式、重构等技术那样需要丰富的经验,又不象极限编程那样难于投入实际应用,甚至比进行测试都来的容易。
一段规范整洁的代码,它的价值不是在于你第一次编译运行它的时候,而是在你第十次或是第二十次修改它的时候。试想面对一段没有缩进的,局部变量名全是x,y,z的程序,你如何维护?如果这时你遇到了解决不了的问题,你又如何拿着这样的代码咨询高手?
的确,作为单片机程序员,我们追求的不是什么程序的美感,更不是什么华丽的程序设计技巧,我们需要的是完成工作——以最短的时间让机器动起来!在这样追求开发效率的前提下,在代码的规范上浪费时间岂不滑稽可笑?
其实,你错了。或许有时你的人品极好,程序一次通过。但仔细回想,难道不是绝大多数程序都是在代码完成之后进行了相当长的调试么?你在编码过程中那点点滴滴的细心,难道不会大幅的缩短你的调试时间么?
代码书写规范中包含的内容并不多,其中最重要的就是缩进/空格的使用和命名规范。
举例来说,你可以要求自己书写代码的时候将标记状态的标志位都命名成以Is开头,可以想想,
if( IsRunning ){ ... }
看起来一定要比
if(f1){...}
来的直观吧.
再比如,你可以要求自己为所有的常数声明常量,如:
if( i < MAXPLAYERCOUNT ) { ... }
一定比
if ( i < 12 ){ ... }
在调试的时候更让你清楚知道自己在干什么吧
现在流行的代码风格有很多,在各种书籍上也都能找到,有兴趣的朋友可以选择一些尝试一下,不过最好注意:首先代码风格要是较新的,现在网上有很多老掉牙的风格规范是针对以前编辑器制定的,已经没有人使用了。再有就是要适合你所在的团队,比如团队中所有人都已经习惯了左花括号另起一行
if( i < j )
{
.......
}
那要求他们使用左花括号跟上行可能并不合适(我的团队现在使用的就是这种风格)
if( i < j ){
........
}
(未完待续,如果大家有兴趣可以来我的博客看看,虽然刚刚开始写,但我会坚持更新的
http://hi.baidu.com/barrin) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|