模塊化開發(fā)
在我們學習電子電路谬哀、單片機電路及嵌入式軟件開發(fā)的時候悦屏,總喜歡一塊一塊的學黍析,一塊一塊的研究調(diào)試卖怜,這樣我們能更快更好的掌握。
同樣在做產(chǎn)品設(shè)計開發(fā)的時候阐枣,我們也應(yīng)該發(fā)揚這種模塊化開發(fā)的思想马靠。比如一個產(chǎn)品的硬件有電源模塊電路、主控單元的最小系統(tǒng)蔼两、外部數(shù)據(jù)存儲甩鳄、外部的各種通信接口,以及外圍的各種模擬量數(shù)字量的采集與控制電路额划,有的還少不了顯示電路等等妙啃。所以一個產(chǎn)品會有很多種模塊化電路組成,這些功能模塊又會對應(yīng)相應(yīng)的驅(qū)動程序及功能模塊程序俊戳。
所以在產(chǎn)品開發(fā)的過程中我一直要求自己遵循模塊化開發(fā)的的理念揖赴,因為這樣會給我們帶來很多好處茁瘦,比如:
1.在產(chǎn)品開發(fā)過程中軟硬件的調(diào)試,我們能更快更好的找出模塊內(nèi)存在的BUG,能更好的避免在做整合的時候出現(xiàn)更多的問題储笑。
2.能更好的優(yōu)化和升級產(chǎn)品。我們在優(yōu)化產(chǎn)品的時候只需要優(yōu)化和調(diào)試一部分模塊而不會牽一發(fā)而動全身圆恤,這樣對優(yōu)化后的產(chǎn)品的穩(wěn)定性也能有更好的保證突倍。
3.能做好更多的技術(shù)積累,對公司和對工程師個人而言能做到雙贏盆昙。積累的技術(shù)功能模塊能為公司保存更多的技術(shù)實力羽历,對新產(chǎn)品的開發(fā)和已有產(chǎn)品的維護升級都至關(guān)重要。而我們工程師也能積累更多產(chǎn)品開發(fā)所需要的功能模塊設(shè)計淡喜。我們可以把這些積累作為一個個我們已經(jīng)打造好的工具秕磷,等到用的時候可以直接拿來用,既方便又穩(wěn)定可靠炼团。
工具性總結(jié)
我一直主張在開發(fā)和學習的時候澎嚣,不要盲目的做和學,要有效的利用我們上面說的模塊化瘟芝,把可以重復(fù)利用的電路或程序代碼有效的模塊化接口化易桃,經(jīng)過測試和穩(wěn)定性驗證的程序模塊,是可以有效重復(fù)利用的锌俱,我們把這些模塊工具化晤郑。
我在做開發(fā)的時候都針對不同的MCU,都會自己封裝一套對應(yīng)的底層驅(qū)動庫贸宏,比如GPIO造寝,我就做一個gpio.c和一個gpio.h的文件,在不同的項目開發(fā)中吭练,我就只需要包含這兩個文件诫龙,用的時候,只要調(diào)用gpio的初始化和操作函數(shù)就可以了线脚,如果我們每次都在程序中直接對io的寄存器操作赐稽,那么這些代碼是不是在其他項目中就不能重復(fù)利用了呢,每次我們還都要重復(fù)的編寫這些代碼浑侥,這樣也會帶來很多問題姊舵,比如程序的可讀性,可修改性以及可測試性等寓落。
隨著我們不斷的學習總結(jié)括丁,我們會積累更多的電路或程序模塊工具,在以后的開發(fā)過程中伶选,我們就可以拿出我們?yōu)樽约捍蛟斓倪@些工具史飞,像搭積木一樣的來開發(fā)產(chǎn)品尖昏。
這樣一來,我們的產(chǎn)品開發(fā)是不是變得更加高效构资,而且每一個工具化的模塊都是以前經(jīng)過測試驗證的抽诉,這樣也能為我們在產(chǎn)品開發(fā)過程中節(jié)省大量的測試調(diào)試和驗證的時間。
做很多事情都是這樣吐绵,立足當下迹淌,思考未來,總結(jié)規(guī)劃己单,今天的點滴付出唉窃,肯定能換來明天的美好結(jié)果。