我是電子愛好者,后來愛上單片機(jī)、編程,也來說說我的看法:
[導(dǎo)讀]現(xiàn)在的社會節(jié)奏越來越快,新技術(shù)層出不窮,一個程序能看到API層應(yīng)用起來就不錯的,真要成為專家可不是容易得事哦
我覺得看程序和看硬件電路圖一樣:分層分塊
一、首先就象TCPIP協(xié)議一樣,進(jìn)行分層,
區(qū)分開應(yīng)用層、運(yùn)輸層、網(wǎng)絡(luò)層、鏈路層、物理層等
通常開發(fā)者能接觸到的只有應(yīng)用層(對應(yīng)于人機(jī)界面的軟件開發(fā))和物理層(對應(yīng)于硬件相關(guān)的編程),畢竟這兩頭的東西不同人有不同的設(shè)計,不同產(chǎn)品間區(qū)別也就體現(xiàn)于此。至于中間的幾層,要么是現(xiàn)成的規(guī)范,要么是器件特有的功能,通常會有現(xiàn)成的API,真正能接觸到并處理好的那就不是一般水平的程序員了
二、然后,從主干看信號流向:對于程序是看流程圖,對于電路是看方框圖,看出程序和電路有哪些功能模塊,模塊之間是怎樣耦合的
一個正規(guī)且完整的項目文檔,不管是程序的還是電路的,必然會有流程圖和框圖的,就算沒有,熟手也能把他們理出來。對于程序我們可以看主程序包涵了哪些模塊的頭文件、依次調(diào)用了那些函數(shù)、分別是什么作用,看完后心里也就大致有數(shù)了:原來這個東東是這樣的,也不是很復(fù)雜嘛!
呵呵,這時,我們對那個“大”項目的畏難情緒就明顯減弱了,這時,我們就可以順藤摸瓜的一個個模塊來看了,那就開始下一步
三、接著,從模塊細(xì)分到語句:既然知道每個模塊的作用和他們的耦合關(guān)系了,是不是很多東西都會有“我都寫的出”的感覺呢?不是的,因為協(xié)議或器件不是你自己制定或生產(chǎn)的啊,這時最多會用罷了,要用好它當(dāng)然得慢慢消化了,這時我們?nèi)耘f采取繼續(xù)細(xì)分得方法,理解每一個函數(shù),直到每一個語句。。。這樣看下來還有什么程序不能理解得呢?
終于,這個大項目的程序每個語句都看完了,但我們前面的也忘了很多,這時穿插起來再看一遍會覺得很容易了。也就沒什么難以理解的了。
四、學(xué)為己用:要看完一個“大”項目真的不是一件容易的事,我們?yōu)槭裁匆ㄟ@么大的精力呢?當(dāng)然是為了學(xué)為己用了,為了從中學(xué)到東西, 畢竟人的知識和精力是有限的。
真正理解透了一個程序,會有就算什么也沒有了也能自己寫出來的感覺,庖丁所說的“始臣之解牛之時,所見無非全牛者。三年之后,未償見全牛也”也就是這種境界了,那時你就是那一方面的專家了。
現(xiàn)在的社會節(jié)奏越來越快,新技術(shù)層出不窮,一個程序能看到API層應(yīng)用起來就不錯的,真要成為專家可不是容易得事哦
PS:我最初愛好的是電子,投入了大量精力和時間,對于電路可以說沒有看不懂的了,后來愛上單片機(jī)、編程,半路出家的,對于編程真的不敢自夸,覺得還有好多需要學(xué)習(xí)的,在此隨便發(fā)表一下自己的想法,希望行家別見笑哦
這段時間好迷惘,感覺自己就像茶壺煮餃子,所學(xué)從未用到地方,只想找個有實力的單位好好做做開發(fā),希望能有人看的上才好啊:-)
呵呵
一、首先就象TCPIP協(xié)議一樣,進(jìn)行分層,
區(qū)分開應(yīng)用層、運(yùn)輸層、網(wǎng)絡(luò)層、鏈路層、物理層等
通常開發(fā)者能接觸到的只有應(yīng)用層(對應(yīng)于人機(jī)界面的軟件開發(fā))和物理層(對應(yīng)于硬件相關(guān)的編程),畢竟這兩頭的東西不同人有不同的設(shè)計,不同產(chǎn)品間區(qū)別也就體現(xiàn)于此。至于中間的幾層,要么是現(xiàn)成的規(guī)范,要么是器件特有的功能,通常會有現(xiàn)成的API,真正能接觸到并處理好的那就不是一般水平的程序員了
二、然后,從主干看信號流向:對于程序是看流程圖,對于電路是看方框圖,看出程序和電路有哪些功能模塊,模塊之間是怎樣耦合的
一個正規(guī)且完整的項目文檔,不管是程序的還是電路的,必然會有流程圖和框圖的,就算沒有,熟手也能把他們理出來。對于程序我們可以看主程序包涵了哪些模塊的頭文件、依次調(diào)用了那些函數(shù)、分別是什么作用,看完后心里也就大致有數(shù)了:原來這個東東是這樣的,也不是很復(fù)雜嘛!
呵呵,這時,我們對那個“大”項目的畏難情緒就明顯減弱了,這時,我們就可以順藤摸瓜的一個個模塊來看了,那就開始下一步
三、接著,從模塊細(xì)分到語句:既然知道每個模塊的作用和他們的耦合關(guān)系了,是不是很多東西都會有“我都寫的出”的感覺呢?不是的,因為協(xié)議或器件不是你自己制定或生產(chǎn)的啊,這時最多會用罷了,要用好它當(dāng)然得慢慢消化了,這時我們?nèi)耘f采取繼續(xù)細(xì)分得方法,理解每一個函數(shù),直到每一個語句。。。這樣看下來還有什么程序不能理解得呢?
終于,這個大項目的程序每個語句都看完了,但我們前面的也忘了很多,這時穿插起來再看一遍會覺得很容易了。也就沒什么難以理解的了。
四、學(xué)為己用:要看完一個“大”項目真的不是一件容易的事,我們?yōu)槭裁匆ㄟ@么大的精力呢?當(dāng)然是為了學(xué)為己用了,為了從中學(xué)到東西, 畢竟人的知識和精力是有限的。
真正理解透了一個程序,會有就算什么也沒有了也能自己寫出來的感覺,庖丁所說的“始臣之解牛之時,所見無非全牛者。三年之后,未償見全牛也”也就是這種境界了,那時你就是那一方面的專家了。
現(xiàn)在的社會節(jié)奏越來越快,新技術(shù)層出不窮,一個程序能看到API層應(yīng)用起來就不錯的,真要成為專家可不是容易得事哦
PS:我最初愛好的是電子,投入了大量精力和時間,對于電路可以說沒有看不懂的了,后來愛上單片機(jī)、編程,半路出家的,對于編程真的不敢自夸,覺得還有好多需要學(xué)習(xí)的,在此隨便發(fā)表一下自己的想法,希望行家別見笑哦
這段時間好迷惘,感覺自己就像茶壺煮餃子,所學(xué)從未用到地方,只想找個有實力的單位好好做做開發(fā),希望能有人看的上才好啊:-)
呵呵





