这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 编程做好这六点,你就是大师了

共13条 1/2 1 2 跳转至

编程做好这六点,你就是大师了

专家
2013-08-09 14:50:43     打赏

      程序设计是每一名电子工程师的必修课程,在数字电子迅速发展的今天,程序设计对于电子工程师来说,正变得越来越重要。

      本文引用地址:http://www.eepw.com.cn/article/158784.htm

  程序设计拼的其实就是经验,总是在走过许多弯路之后,才能吸取教训,才能刻骨铭心,将人的想法转换成机器语言,编程的目的是一样的,但是同一个问题每个人的想法不一,虽然都是殊途同归,但是执行效率、稳定性、可移植性、可读性却大相径庭。我们无法做到最好,但是完全可以做得更好,如果你无法超越别人,那你可以不断地尝试超越自己,不经意的某一天,你发现原来你已经是大师了,原来进步是如此的简单。以下的几点经验纯属个人的一点拙见,如赞同则纳之,如不同,愿闻高见。

  一、 为你的变量函数起一个有意义的名字

  名字很重要,不要用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!!!”。




关键词: 程序设计     函数     变量     编程     代码    


Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
高工
2013-08-09 15:28:59     打赏
2楼
好资料,想成大师看一看,

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
菜鸟
2014-12-12 21:12:46     打赏
3楼
不错。。。。。。。。。。。。

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
工程师
2015-03-24 17:54:15     打赏
4楼
可以试着去做

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
院士
2015-04-05 20:51:20     打赏
5楼
   非常感动于版主的苦口婆心。说实话,将自己的体会、做法拿出来与大家分享,同时明确是非、优劣,确实有“助人为乐”之风范,赞一个,.

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
菜鸟
2015-04-08 20:16:29     打赏
6楼
好资料

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
菜鸟
2015-04-21 20:30:44     打赏
7楼
不错,没有长篇大论,但字字珠玑!

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
菜鸟
2015-04-30 09:50:18     打赏
8楼
看看,具体的内容

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
高工
2015-05-28 13:58:45     打赏
9楼

大师之路,go on


评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
工程师
2015-09-14 23:17:19     打赏
10楼
好资料,谢谢

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
共13条 1/2 1 2 跳转至

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 496

回复

匿名不能发帖!请先 [ 登陆 注册 ]

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1450

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1450

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1456

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1457

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1458

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1461

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1462