真正的程序設(shè)計(jì)高手不是語法上的精通而是程序總體架構(gòu),算法上的周密。當(dāng)初大學(xué)時(shí)都是利用C51寫的51單片機(jī)的程序,根本就不管程序的可維護(hù)性,程序大小,就是一個(gè)C文件中包含了全部的函數(shù)體。在工作中這是一個(gè)完全不能接受的習(xí)慣和致命錯(cuò)誤。
其實(shí)C語言的語法真的很簡單,很快就能掌握,但是將這簡單的語句組織成一個(gè)良好的架構(gòu)那可就是一件很難的事了。最近在工作中編寫的程序都是我們總監(jiān)打好的架構(gòu),然后在里面進(jìn)行添磚加瓦的??粗覀兛偙O(jiān)寫的程序,那簡直就是一個(gè)神。同樣能實(shí)現(xiàn)的功能函數(shù),雖然我也能編寫,可相比之下我們總監(jiān)的思想就更加的開闊和先進(jìn)。
現(xiàn)將最近學(xué)到的一些方法寫下,來提示自己:
1.在編寫各類單片機(jī)功能程序時(shí),不要急于書寫,一定要先想出一個(gè)很好的結(jié)構(gòu)和方法,雖然你寫出來的程序可以正常運(yùn)行,但是你是否想到了它的可維護(hù)性,可閱讀性等等一些很重要的因素呢?所以一定要先想出一個(gè)很好的架構(gòu)在來開始編寫。
2.c文件,和h文件設(shè)計(jì)的要求。C語言顯得非常的自由,但我們?cè)诠ぷ髦袨榱顺绦蜍浖姆N種原因,一定要規(guī)范自己的寫法,這對(duì)自己和他人都是有利的。在單片機(jī)的程序中,我們應(yīng)該把一個(gè)模塊功能建立一個(gè)單獨(dú)的C文件,這一C文件中包含和該模塊功能全部相關(guān)的函數(shù)體,同樣把和該C文件相關(guān)的常量,表達(dá)式等等也單獨(dú)的建立一個(gè)h文件,最好是只讓它對(duì)應(yīng)的C文件引用,不要讓其它的C文件進(jìn)行引用,這樣很好的體現(xiàn)程序的模塊化和內(nèi)聚性。在對(duì)單片機(jī)的內(nèi)部寄存器進(jìn)行操作的程序,我們應(yīng)該單獨(dú)的建立一個(gè)文件,只允許MCU內(nèi)部的寄存器名出現(xiàn)在該文件中,你試想一個(gè),在你的所有文件中這這里出現(xiàn)一個(gè)寄存器名,那里出現(xiàn)一個(gè)寄存器名,是不是可讀性不好,沒有實(shí)現(xiàn)程序的模塊化呢?在程序過程中我們應(yīng)該把多次用到的變量和常量最好的定義為宏,這樣當(dāng)這些變量 ,常量要更改時(shí),就可以很方便的更改,不用大量的去尋找。在使用文件包含時(shí),一定要注意路徑的選擇,什么時(shí)候用<>,' ',不用出現(xiàn)重復(fù)編譯的情況,有時(shí)重復(fù)編譯可能編譯器沒有報(bào)錯(cuò),但是這樣明顯不好。要學(xué)會(huì)很好的使用條件編譯語句,這對(duì)我們的程序很有用,在很多小型的操作系統(tǒng)中,都有硬件裁減的功能選擇,這正是利用了條件編譯,需要這一功能時(shí)我們就定義它,不需要時(shí)就不去定義,顯得很方便。
3.指針的妙用。C語言的特色就在于它的指針。很好的使用指針能讓我們的程序更加的有條理性,同樣它也是C語言中語法最難的一點(diǎn)了,所以在使用時(shí)一定要注意。具體的好處太多了,在這就不在多說了,大家自己體會(huì)就能很好的明白了。
總之,C語言算是一門很好的語言,我們不僅要學(xué)會(huì)它的語句,更重要的是要具有好的思想,思想有多深,就決定你能飛多遠(yuǎn)!
長按以下識(shí)別二維碼關(guān)注!
電子路上,一起走!
聯(lián)系客服