日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > embed linux share
[導(dǎo)讀]嵌入式工程師如何告別被人詬病的爛代碼,寫出拍手稱道的好代碼?

嵌入式工程師現(xiàn)狀
在我頭兩三年的工作時(shí)間里,接觸過不少嵌入式工程師,對這個(gè)行業(yè)的現(xiàn)狀有一定的深入了解。從傳統(tǒng)嵌入式工程師的學(xué)習(xí)路徑來看,大部分是從熟悉硬件手冊、配置寄存器開始學(xué)習(xí),接著在邊做項(xiàng)目邊加深學(xué)習(xí)C語言,根據(jù)項(xiàng)目不同,會接觸一些基礎(chǔ)算法,比如控制上的pid、多軸插補(bǔ),圖像處理上的濾波、分割等等。在這個(gè)階段中,會逐漸熟悉一些硬件之間的特性差異、掌握c語言編程來實(shí)現(xiàn)不同功能,學(xué)有余力的可能還接觸了一些RTOS,更深入地掌握了多線程編程技巧、GUI開發(fā)界面、網(wǎng)絡(luò)編程等。
但是在走完這一階段之后,其實(shí)大部分工程師,代碼能力還是很弱。這是由于在實(shí)際工作過程,過于依賴面向過程開發(fā),只管功能實(shí)現(xiàn),忽視了代碼質(zhì)量和提高。這樣的代碼維護(hù)起來非常費(fèi)勁,添加或者修改一個(gè)功能,常常會牽一發(fā)而動全身,讓你無從下手,恨不得將全部的代碼刪掉重寫!回首看一下過去幾年間自己的代碼,時(shí)常有抽自己幾巴掌的沖動。
意識覺醒
我們有幸在最好的開源時(shí)代,在嵌入式領(lǐng)域目前已經(jīng)有大量優(yōu)秀的開源代碼可以供所有程序員參考對比,比如熊大的RT-thread、周立功的AWTK;我們不幸在最壞的開源時(shí)代,當(dāng)知識的門檻越來越低,每個(gè)人面臨的競爭壓力是前所未有的。這種壓力應(yīng)該促使程序員去思考,如何去提高自己的代碼水平,如何去設(shè)計(jì)出如熊大、周立功他們一樣優(yōu)秀的項(xiàng)目。
在開源商業(yè)軟件高速發(fā)展的今天,希望我的一點(diǎn)經(jīng)驗(yàn)和分享可以慢慢地讓一部分工程師醒,認(rèn)識到斑駁繁雜的業(yè)務(wù)開發(fā),需要大量的基礎(chǔ)知識的支撐。有花狠功夫去夯實(shí)基礎(chǔ),才能看得更長遠(yuǎn),走得更持久。
但是,必須要明白的一點(diǎn)是,基礎(chǔ)學(xué)科和理論大都不是與技術(shù)能力直接掛鉤的,無法通過短期的突破來取得立竿見影的效果。它更多的是慢慢在潛意思中生根發(fā)芽,默默地在解決問題的過程中影響你思考的角度和深度。這是緩慢受錘的過程,這一錘一錘的折磨,大部分人挺不過來。
如何破局
那么怎么吸收理解乏味沉悶的基礎(chǔ)知識?如何把它內(nèi)化成自己的工程開發(fā)能力依然是很多程序的困惑。在被操作系統(tǒng)、編譯原理、微機(jī)原理等大部頭殺死了對編程的熱衷的同時(shí),更是遲遲看不到投入產(chǎn)出比。甚至幾年工作下來,悲哀地發(fā)現(xiàn),代碼水平還在大學(xué)里的毛頭小子差不多。因此,選一個(gè)合適的切入點(diǎn),在職業(yè)進(jìn)階發(fā)展時(shí)建立起強(qiáng)大的學(xué)習(xí)自信心就尤為關(guān)鍵。設(shè)計(jì)模式就是這樣一個(gè)最佳的切入點(diǎn),它既是非常重要的基礎(chǔ)知識,又直接反映技術(shù)能力水平。設(shè)計(jì)模式、數(shù)據(jù)結(jié)構(gòu)、算法是程序員的三座大山,但是設(shè)計(jì)模式與數(shù)據(jù)結(jié)構(gòu)和算法不一樣的地方在于,數(shù)據(jù)結(jié)構(gòu)和算法是業(yè)務(wù)場景的總結(jié),它的關(guān)注點(diǎn)在于如何寫出高效代碼來改善產(chǎn)品的性能,這在不同產(chǎn)品、不同業(yè)務(wù)上是差異很大的。而設(shè)計(jì)模式,更多的是一種工程經(jīng)驗(yàn),它客觀地歸納了高質(zhì)量代碼開發(fā)的技巧,指導(dǎo)著工程師把代碼寫得可維護(hù)性強(qiáng)、可擴(kuò)展性強(qiáng)、健壯性強(qiáng)。所以,不必?fù)?dān)心設(shè)計(jì)模式是"屠龍刀",只要你有心想用好它,那么在你的業(yè)務(wù)代碼中,一定有用得上的地方。除非你是想開發(fā)一個(gè)只管功能實(shí)現(xiàn),不管后人維護(hù)擴(kuò)展的爛項(xiàng)目。在這些年的工作經(jīng)歷中,實(shí)在是見過不少的爛代碼,比如命名不規(guī)范、類設(shè)計(jì)不合理、分層不清晰、沒有模塊化概念、代碼結(jié)構(gòu)混亂、高度耦合等等。 應(yīng)對面試中的設(shè)計(jì)模式
學(xué)習(xí)設(shè)計(jì)模式,最功利、最直接的目的,和算法一樣,可能就是應(yīng)對面試了。不管你是前端工程師、后端工程師,還是嵌入式工程師,在高階崗位的求職面試中,設(shè)計(jì)模式問題是被問得頻率比較高的一類問題。特別是一些像 華為、大疆 這樣的大公司,比較重視候選人的基本功,經(jīng)常會拿算法、設(shè)計(jì)模式之類的問題來考察候選人。所以,求職面試的時(shí)候,應(yīng)該提前準(zhǔn)備、溫習(xí)一遍設(shè)計(jì)模式。盡管不一定每次面試都會被問到,但一旦被問到,如果回答得不好,就是一個(gè)敗筆,這場面試基本上也就涼涼了。所以,為了保證萬無一失,擺脫一旦被問到答不出來的窘境,對于設(shè)計(jì)模式這種大概率被問到的問題,需要未雨綢繆,認(rèn)真提前準(zhǔn)備一下。
關(guān)于嵌入式的設(shè)計(jì)模式
目前市面上關(guān)于設(shè)計(jì)模式的書籍和視頻,主要都是用面向?qū)ο蟮恼Z言來進(jìn)行講解,比如java\c 。而嵌入式程序員主要用c語言開發(fā),那么學(xué)習(xí)設(shè)計(jì)模式時(shí)不可避免會有一些語言上面的障礙,因此本系列文章,希望是以c語言來闡述清楚每種設(shè)計(jì)模式的用途。讀者在有了對它有一定的概念和理解后,再去看相關(guān)書籍時(shí),會減少很多障礙。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉