打印
[AVR单片机]

编程做好这六点,你就是大师了(顺便散分)

[复制链接]
18173|145
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qin552011373|  楼主 | 2013-8-8 17:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qin552011373 于 2013-8-12 16:00 编辑

 程序设计是每一名电子工程师的必修课程,在数字电子迅速发展的今天,程序设计对于电子工程师来说,正变得越来越重要。
  程序设计拼的其实就是经验,总是在走过许多弯路之后,才能吸取教训,才能刻骨铭心,将人的想法转换成机器语言,编程的目的是一样的,但是同一个问题每个人的想法不一,虽然都是殊途同归,但是执行效率、稳定性、可移植性、可读性却大相径庭。我们无法做到最好,但是完全可以做得更好,如果你无法超越别人,那你可以不断地尝试超越自己,不经意的某一天,你发现原来你已经是大师了,原来进步是如此的简单。以下的几点经验纯属个人的一点拙见,如赞同则纳之,如不同,愿闻高见。
  一、 为你的变量、函数起一个有意义的名字
  名字很重要,不要用a,b,c,d,a1,a2之类的名字,这样的变量名字让人不知所云,云里雾里,几乎不具备可读性。变量或者函数的名字一定要有意义,当然变量有不同的类型,最常用的来说,有全局变量、局部变量,可以在变量名前加上不同的字母,如cWK_WS_DispMD,vWK_WS_DispYear,这里面小写字母c、v分别代表了不同的变量类型,在变量中可以多加一些下划线,以使得名字易读明了,尽量使用英文的缩写,不要用汉语拼音,不要以英文不好为由,英文不好可以去网上查,只有你想不到的,没有你查不到的,如果你拒绝改变,就是拒绝进步。增强程序的可读性,做好了这一点,你已经向前走了一大步,**,你将大受脾益,获益匪浅。
  二、 注意代码的格式
  代码的格式体现出一名程序员的素养,正所谓“码如其人”,这一点绝对不容忽视,可能有人说这是人尽皆知的准则,但是我还是要在拿来强调一番,程序的编写其实并不是难点,大部分的时间我们都花费在了程序的调试上,反复的推敲每一句代码去寻找问题的所在,好的格式不仅可以增强美感,也会提高你解决问题的速度,增强程序的可读性。这里提醒大家,在编写程序前,有的编程环境中可以修改一个空格或者TAB键所占用的字节长度,如:
  调整至你自己看着舒服就可以了,并且编程时要多使用TAB键,这样更利于你调整格式,加快编程速度。

 三、 添加尽可能详尽的注释
  不要总觉得自己当时**深刻,甚至刻骨铭心、终生难忘,时间总是会无情地证明你是错的,为你的程序添加详尽的注释,比如变量的用途、函数的调用关系、参数说明、函数功能等等都要尽可能详细地写明,有时候即使是写下来,过一段时间再回头看时还要在琢磨一阵,若是不写,后果可想而知,别人就更没法读你的程序了。
  这是我为一个函数写的注释,当然每个人都有自己的写法,我一般这样来写的,仅供参考哈。
  /*=============================================================================
  *
  * 函 数 名: CMD_Send()
  *
  * 参 数:        length_low 数据长度
  *                      CMD_byte 命令字节
  *                      CMD_parameter 命令参数
  *                      *data 语音数据
  * 功能描述:
  *                      发送一帧语音数据
  *
  * 返 回 值: 无
  =============================================================================*/
  四、 做好底层的定义
  这里的意思是与硬件相关的程序,为了后期更好地编程,先做一些必要的定义,比如
         #define cWL_PIN_SDIO 0x04
  #define SDIO_is_Out P1DIR |= cWL_PIN_SDIO
  这样以后用起来就十分的方便,就像说话一样,使得程序十分易读,当然凡事过犹不及,也没必要过多地定义,只对一些经常使用的定义就好,也有的编程环境中,本身就已经做了非常详尽的定义,那么就省了你的事了,但这也未必是好事,因为你要花很多时间去看,去熟悉。
  五、 合理划分单元和函数
  尤其在程序量比较大的时候,这一点就显得尤为重要,划分得好不好,对于后期编程影响极大。合理划分单元说得通俗点就是把每一个功能单元放在一个单独的文件中,这样每一个文件中的程序量就不至于太长,需要被外部调用的函数全部在头文件中引出,划分函数也很重要,函数划分得好,可以节省很多程序空间,增强代码执行效率。这样做的好处是极大地增强了程序的可移植性,下次再用到这个功能时,只需要修改底层的IO口就可以了,这样久而久之,当你写的单元足够多的时候,写程序就变得越来越轻松了。还有在文件的起始处最好也加一些功能说明,也就是注释,例如:
  /*=============================================================================
  * 说 明:
  *                本单元实现了语音输出‘宇音天下’的功能。
  * 作 者: XXX 2011/3/3
  *  =============================================================================*/
  六、 反复修改,精益求精
  无论我们如何用心的去编写程序,程序似乎总是有改进的余地,当你发现一个可以改进的地方,可能是一个好的算法,也可能仅仅是一个冗余的变量,也要不厌其烦地去重新改过,这样日积月累,就可以不断完善你自己的程序库,因为当程序库足够充足、足够完善的时候,写程序就几乎是信手拈来了。
  七、 总结
  其实以上说的程序设计几点经验,每一点都是在一个最根本的原则的指引之下,那就是增强程序的可读性和可移植性。最后送大家一句话,与大家共勉“If you will,you can!!!”。


本文来自www.**/article/158784.htm
评分
参与人数 1威望 +1 收起 理由
divinitus + 1 赞一个!

相关帖子

沙发
qin552011373|  楼主 | 2013-8-8 17:25 | 只看该作者
此贴顺便散分,原因是为了我的分数在今天超过一万了,是一个具有里程碑意义的事件。

使用特权

评论回复
板凳
限量_个性。| | 2013-8-8 17:31 | 只看该作者
看贴 +  接分 ~

使用特权

评论回复
地板
tee.| | 2013-8-8 17:50 | 只看该作者
前排,收分啦。

使用特权

评论回复
5
huangxz| | 2013-8-8 19:44 | 只看该作者
大师,你好厉害啊,

使用特权

评论回复
6
huangxz| | 2013-8-8 19:45 | 只看该作者
版主一天就收两百分,佩服啊

使用特权

评论回复
7
qin552011373|  楼主 | 2013-8-8 20:51 | 只看该作者
huangxz 发表于 2013-8-8 19:45
版主一天就收两百分,佩服啊

有人给了我加威望咯  你也可以的   多回答问题   多顶贴

使用特权

评论回复
8
minDragon| | 2013-8-8 21:56 | 只看该作者
If you will,you can!!对于我这种刚毕业的人来说~很励志~:lol

使用特权

评论回复
9
草民| | 2013-8-8 22:02 | 只看该作者
大师,像您学习!代码规范,风格统一很重要,看到赏心悦目的程序,心情都会舒畅!

使用特权

评论回复
10
hjc19911203| | 2013-8-8 23:10 | 只看该作者
恩,我还是个学生,变得程序不算太多,但也开始意识到自己平时编程的问题了,图省事老使用a,b,i,j等简单变量,不爱写注释,没有自己的编程风格,以后要改,唯一庆幸的是使用tab键挺多的,程序的缩进还行,总之,要克服这些坏习惯

使用特权

评论回复
11
sunnyboy6652| | 2013-8-8 23:24 | 只看该作者
之前一直没意识到写代码是搞硬件的必备知识,很感谢楼主

使用特权

评论回复
12
lark100| | 2013-8-9 00:29 | 只看该作者
厉害,总结的很好!

使用特权

评论回复
13
gcxzhz| | 2013-8-9 01:13 | 只看该作者
好的编程风格出的程序看着让人感觉是一种享受,IF YOU CAN,YOU DO,YOU WILL BE BEST!

使用特权

评论回复
14
laoxu| | 2013-8-9 04:47 | 只看该作者
写的不错~~~

使用特权

评论回复
15
fe07fe| | 2013-8-9 04:54 | 只看该作者
英文不好可以bu去网上查,只有你想yao的,没有你de不到的,如果你拒绝改变,拒绝就是进步。

使用特权

评论回复
16
stupidboy456| | 2013-8-9 08:12 | 只看该作者
楼主说的太对啦,,值得学习,,

使用特权

评论回复
17
zhongfushun| | 2013-8-9 08:19 | 只看该作者
受教了,接分~~

使用特权

评论回复
18
qin552011373|  楼主 | 2013-8-9 08:24 | 只看该作者
fe07fe 发表于 2013-8-9 04:54
英文不好可以bu去网上查,只有你想yao的,没有你de不到的,如果你拒绝改变,拒绝就是进步。 ...

电子能跟得上时代发展就行了   我总是担心自己被淘汰

使用特权

评论回复
19
jlass| | 2013-8-9 08:29 | 只看该作者
写的不错

使用特权

评论回复
20
qin552011373|  楼主 | 2013-8-9 08:38 | 只看该作者
jlass 发表于 2013-8-9 08:29
写的不错

悄悄说一下 是抄的哈  谢谢捧场

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:勿在浮沙筑高台。 广州电子工程师朋友交流群,电子行业相关朋友交流技术,畅谈未来,活动聚会交友群。21ic广州网友联谊群:462553656

427

主题

4543

帖子

11

粉丝