分享

编辑推荐 | 编程感触,看高手写的程序后有感

 靖勋山人 2016-04-07

最近,经常见到一些高手写的程序,看完之后,除了惊讶、佩服,更多的是反思;为什么别人可以写出那么漂亮的程序?为什么别人的程序的数据结构设计的那么工整?为什么别人的程序结构写的那么工整?为什么别人的命名那么准确?等等很多地方。

再想想自己,写程序虽然不多,但是也有3年多了。为什么还是写的那么烂(在结构、命名和可读性),近一年虽然在编程思想上有了很多改变,可是结构和命名依旧很烂?自己什么时候才能做到那样,可是改变意味着要经受折磨。自己改如何面对?

说说别人写的程序吧!很明显的,数据、程序、配置分开。

关于系统数据结构设计:

根据整个系统的结构,对数据分好类,以及做好有可能操作的的准备,整个数据结构是以结构体为主打,将数据全部分成一类一类的。

然后根据数据属性进行划分,进行结构体嵌套。嵌套到系统最顶层时,就剩那么几大类数据类型,那么当需要操作数据时,可以按结构一级一级索引下去。即使增加或删减数据,都很方便。整个系统中枚举、共用体与位域用的也是相当多的。

程序中,很大一部分选项是可以在有限的属性中选择的,因此用了枚举,使程序的可读性更高。

共用体和位域的联合使用,使程序的整体性和操作性变的更好,当需要写位时,用位域写入,需要读取时,再共用体中整体读出,可以将多个同一类的标志位划分到一个字节中,大量节约了系统空间。

关于数据与程序分开:

当一个系统的需求定下来之后,那么基本上结构已经定了,更多的是需要改一些参数,那么对于一些全系统或者在系统中存在于很多地方的常量来说,需要不停的去修改,(本人曾经是把它们定义成一个全局变量,需要改变时,去改初始值)我看到的最NB的程序是,整个程序中,基本上看不到数字。数字跑哪儿去了?到被宏替换掉了。用宏代替常量的好处是,程序的可读性很高。修改也很方便。(当我每次看到这种程序时,总会发出感慨:真是变态的设计啊!!)

关于配置结构的设计:

需求定了,系统逻辑就定了,可是有很多可以变化、调整的东西;例如:系统的端口转移、系统时钟、PWM初始参数、定时器的初始参数、.....(此处省略几百字)太多东西需要变化的。怎么搞???

加入到一个配置文件中,用宏将他们代替掉,那么程序的可读性又提高了修改配置也方便了。还有那些预编译开关的设计,那可真是逻辑性太强悍了,本人明白原理,可是从来没有用过,实在是不知道该怎么用,对于那些把预编译用的活灵活现的人,我是佩服的十体投地。那可真是对系统的结构从需求提出的那一刻,就已经知道有哪些内容的大神级别的人搞的。

你是否有相同的感想呢,一起来21ic 思想与裸编程 版块和大牛们一起探讨吧~

点击

阅读原文

查看大牛回复

编辑推荐 | 编程感触,看高手写的程序后有感

编辑推荐 | 编程感触,看高手写的程序后有感

特别推荐

编辑推荐 | 编程感触,看高手写的程序后有感

编辑推荐 | 编程感触,看高手写的程序后有感

编辑推荐 | 编程感触,看高手写的程序后有感

编辑推荐 | 编程感触,看高手写的程序后有感

编辑推荐 | 编程感触,看高手写的程序后有感

中国电子网

微信号:weixin21ic

编辑推荐 | 编程感触,看高手写的程序后有感

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多