日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

編輯推薦 | 編程感觸,看高手寫的程序后有感

 靖勛山人 2016-04-07

最近,經(jīng)常見到一些高手寫的程序,看完之后,除了驚訝、佩服,更多的是反思;為什么別人可以寫出那么漂亮的程序?為什么別人的程序的數(shù)據(jù)結(jié)構(gòu)設計的那么工整?為什么別人的程序結(jié)構(gòu)寫的那么工整?為什么別人的命名那么準確?等等很多地方。

再想想自己,寫程序雖然不多,但是也有3年多了。為什么還是寫的那么爛(在結(jié)構(gòu)、命名和可讀性),近一年雖然在編程思想上有了很多改變,可是結(jié)構(gòu)和命名依舊很爛?自己什么時候才能做到那樣,可是改變意味著要經(jīng)受折磨。自己改如何面對?

說說別人寫的程序吧!很明顯的,數(shù)據(jù)、程序、配置分開。

關于系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設計:

根據(jù)整個系統(tǒng)的結(jié)構(gòu),對數(shù)據(jù)分好類,以及做好有可能操作的的準備,整個數(shù)據(jù)結(jié)構(gòu)是以結(jié)構(gòu)體為主打,將數(shù)據(jù)全部分成一類一類的。

然后根據(jù)數(shù)據(jù)屬性進行劃分,進行結(jié)構(gòu)體嵌套。嵌套到系統(tǒng)最頂層時,就剩那么幾大類數(shù)據(jù)類型,那么當需要操作數(shù)據(jù)時,可以按結(jié)構(gòu)一級一級索引下去。即使增加或刪減數(shù)據(jù),都很方便。整個系統(tǒng)中枚舉、共用體與位域用的也是相當多的。

程序中,很大一部分選項是可以在有限的屬性中選擇的,因此用了枚舉,使程序的可讀性更高。

共用體和位域的聯(lián)合使用,使程序的整體性和操作性變的更好,當需要寫位時,用位域?qū)懭耄枰x取時,再共用體中整體讀出,可以將多個同一類的標志位劃分到一個字節(jié)中,大量節(jié)約了系統(tǒng)空間。

關于數(shù)據(jù)與程序分開:

當一個系統(tǒng)的需求定下來之后,那么基本上結(jié)構(gòu)已經(jīng)定了,更多的是需要改一些參數(shù),那么對于一些全系統(tǒng)或者在系統(tǒng)中存在于很多地方的常量來說,需要不停的去修改,(本人曾經(jīng)是把它們定義成一個全局變量,需要改變時,去改初始值)我看到的最NB的程序是,整個程序中,基本上看不到數(shù)字。數(shù)字跑哪兒去了?到被宏替換掉了。用宏代替常量的好處是,程序的可讀性很高。修改也很方便。(當我每次看到這種程序時,總會發(fā)出感慨:真是變態(tài)的設計啊!!)

關于配置結(jié)構(gòu)的設計:

需求定了,系統(tǒng)邏輯就定了,可是有很多可以變化、調(diào)整的東西;例如:系統(tǒng)的端口轉(zhuǎn)移、系統(tǒng)時鐘、PWM初始參數(shù)、定時器的初始參數(shù)、.....(此處省略幾百字)太多東西需要變化的。怎么搞???

加入到一個配置文件中,用宏將他們代替掉,那么程序的可讀性又提高了修改配置也方便了。還有那些預編譯開關的設計,那可真是邏輯性太強悍了,本人明白原理,可是從來沒有用過,實在是不知道該怎么用,對于那些把預編譯用的活靈活現(xiàn)的人,我是佩服的十體投地。那可真是對系統(tǒng)的結(jié)構(gòu)從需求提出的那一刻,就已經(jīng)知道有哪些內(nèi)容的大神級別的人搞的。

你是否有相同的感想呢,一起來21ic 思想與裸編程 版塊和大牛們一起探討吧~

點擊

閱讀原文

查看大牛回復

編輯推薦 | 編程感觸,看高手寫的程序后有感

編輯推薦 | 編程感觸,看高手寫的程序后有感

特別推薦

編輯推薦 | 編程感觸,看高手寫的程序后有感

編輯推薦 | 編程感觸,看高手寫的程序后有感

編輯推薦 | 編程感觸,看高手寫的程序后有感

編輯推薦 | 編程感觸,看高手寫的程序后有感

編輯推薦 | 編程感觸,看高手寫的程序后有感

中國電子網(wǎng)

微信號:weixin21ic

編輯推薦 | 編程感觸,看高手寫的程序后有感

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多