日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式開(kāi)發(fā)如何快速進(jìn)階?有捷徑?

小麥大叔 ? 來(lái)源:小麥大叔 ? 2023-08-16 15:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式軟件開(kāi)發(fā)有沒(méi)有什么捷徑?不定期會(huì)收到類似的問(wèn)題,我只想說(shuō):嵌入式軟件開(kāi)發(fā)沒(méi)有捷徑

說(shuō)實(shí)話,有這種想法的人,我其實(shí)想勸你放棄。對(duì)于絕大多數(shù)普通人,一步一個(gè)腳印就是捷徑。

當(dāng)然,這個(gè)問(wèn)題可以換個(gè)方式問(wèn),比如:如何才能提升自己編程水平?或者:如何提升自己技能?

對(duì)于大部分人,特別是初學(xué)者,我覺(jué)得應(yīng)該從兩個(gè)方面提升自己技能:

1.多參考、多閱讀優(yōu)秀的開(kāi)源代碼;

2.多實(shí)踐,動(dòng)手敲代碼;

為啥要參考別人的代碼?

你要相信,這個(gè)世界上大部分人都是普通人,你的寫(xiě)代碼的很多想法別人都已經(jīng)想過(guò),而且實(shí)踐驗(yàn)證過(guò)。

最終能保留下來(lái)的,而且運(yùn)用在優(yōu)秀開(kāi)源項(xiàng)目中的代碼,這種代碼就具有參考價(jià)值。

肯定有人會(huì)反駁,認(rèn)為**代碼很La圾,自己寫(xiě)的代碼肯定比**代碼要好。有這種想法的人,往往自己很菜,卻非要認(rèn)為自己很牛逼。

當(dāng)然,不排除有那種確實(shí)很牛逼的人,但這種人又有多少呢,反正我自認(rèn)為我是一個(gè)普通人,我要向優(yōu)秀的人學(xué)習(xí)的地方還有很多。

何為優(yōu)秀的代碼?

何為優(yōu)秀的代碼?可能每個(gè)人的定義不同,每個(gè)人的側(cè)重點(diǎn)也不同。

易讀易懂、結(jié)構(gòu)清晰、邏輯清晰、方便移植......等等包含了所有優(yōu)點(diǎn)的代碼,就是優(yōu)秀的代碼?我覺(jué)得不是!

人無(wú)完人,代碼也肯定多少都存在“瑕疵”,或者說(shuō)多少存在有你認(rèn)為不滿意的地方。

我認(rèn)為優(yōu)秀的代碼,首先,它能被許多人使用,并運(yùn)用在許多成功的項(xiàng)目中。比如:一套控制算法代碼,能成功應(yīng)用在機(jī)械臂、機(jī)器人、無(wú)人機(jī)等項(xiàng)目中,它就是優(yōu)秀的代碼。

其次,它具有優(yōu)秀代碼的一些基本特性,比如上面說(shuō)的易讀易懂、代碼清晰、方便移植等。

這種對(duì)于學(xué)習(xí)者不排斥的代碼也算得上優(yōu)秀的代碼,比如:一個(gè)模塊的驅(qū)動(dòng)程序、一套串口通信協(xié)議。

再次,就是代碼更多細(xì)節(jié),比如:代碼排版格式、注釋、命名等。

哪里有優(yōu)秀的代碼?

我覺(jué)得程序員不應(yīng)該問(wèn)這樣的問(wèn)題。我反過(guò)來(lái)問(wèn)你吧,你看大家一般把代碼開(kāi)源在什么地方?

當(dāng)然是代碼托管的網(wǎng)站啊,GitHub是目前世界上最大的代碼托管平臺(tái):

https://github.com/

當(dāng)然,除了GitHub之外,還有國(guó)內(nèi)的Gitee代碼托管平臺(tái):

https://gitee.com/

這倆代碼托管平臺(tái)眾多大公司都在上面貢獻(xiàn)了優(yōu)秀的代碼,微軟、谷歌、騰訊、阿里這些公司都有代碼庫(kù)。

同時(shí),你會(huì)發(fā)現(xiàn)平時(shí)我們使用的一些開(kāi)源代碼,在GitHub平臺(tái)上都有。比如:RTOS內(nèi)核及組件、MCU廠家驅(qū)動(dòng)代碼、通信協(xié)議等源代碼。

多動(dòng)手寫(xiě)代碼

實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),這句話相信大家都聽(tīng)說(shuō)過(guò)。

如果只看書(shū)不動(dòng)手敲代碼就能掌握程序開(kāi)發(fā),你覺(jué)得這個(gè)程序員能寫(xiě)出好的代碼嗎?很多人基礎(chǔ)理論很不錯(cuò),但實(shí)踐操作起來(lái)各種問(wèn)題、各種不懂。

比如下面這樣寫(xiě):

if(i = 1)
{
//...
}

你可能認(rèn)為是對(duì)的,編譯也是對(duì)的,但實(shí)際這代碼有bug。

編程是一個(gè)很注重實(shí)踐的工作,因?yàn)楝F(xiàn)實(shí)中存在各種不確定的因素,比如:你寫(xiě)的函數(shù),有可能因?yàn)閭魅氲膮?shù)過(guò)大導(dǎo)致內(nèi)存溢出。

代碼寫(xiě)出來(lái)了還不算有本事,編譯0警告0錯(cuò)誤,并成功運(yùn)行起來(lái),你學(xué)的理論知識(shí)才發(fā)揮了作用。

編程習(xí)慣

這里說(shuō)的多動(dòng)手寫(xiě)代碼,不只是為了寫(xiě)代碼而寫(xiě)代碼,寫(xiě)代碼的同時(shí),要培養(yǎng)良好的編程習(xí)慣。

如果養(yǎng)成了不良的編程習(xí)慣,后期改變可能很難。

比如函數(shù)、變量以“中文字母”方式命名:

int DianYa;


intCaiJiDianYa(void);

還比如:不寫(xiě)注釋、源代碼不分類、命名混亂等。

很多人初學(xué)的時(shí)候可能都沒(méi)有意識(shí),想到什么就寫(xiě)什么,所有功能在main中就實(shí)現(xiàn)了。

這里就要回到上面的內(nèi)容,多參考別人優(yōu)秀的代碼。當(dāng)然,不同階段參考的代碼不同,初學(xué)者可以參考一些基礎(chǔ)教程配套的代碼,有工作經(jīng)驗(yàn)的工程師應(yīng)該多參看成功項(xiàng)目的源代碼。

看看別人怎樣命名、怎么寫(xiě)注釋、怎么將代碼分類等。

編程思維

做小項(xiàng)目時(shí),可能幾百行代碼,一個(gè)main就搞定了,這時(shí)你可能覺(jué)得編程思維不重要好。

但項(xiàng)目做大了,你就會(huì)發(fā)現(xiàn)以小項(xiàng)目的編程方式不能完成了,這個(gè)時(shí)候就要考慮軟件架構(gòu)、結(jié)構(gòu)化、模塊化了。

對(duì)于初學(xué)者來(lái)說(shuō),一下就要掌握軟件架構(gòu)、模塊化設(shè)計(jì)可能有點(diǎn)難,但是,可以慢慢培養(yǎng)自己的編程思維。

舉一個(gè)簡(jiǎn)單的模塊化的例子,你做一個(gè)小車,你把“運(yùn)動(dòng)部分的代碼歸為一類(模塊化),對(duì)應(yīng)的文件命名可以為bsp_motion,app_motion,函數(shù)命名為 Motion_xxx 等。

當(dāng)然,還有很多地方,你可以都?xì)w類為 Motion,比如:

#define MOTION_PWM_TIMx              TIM9
#define MOTION_PWM_TIM_CLK           RCC_APB2Periph_TIM9
#define MOTION_PWM_TIM_GPIO_CLK      RCC_AHB1Periph_GPIOE
#define MOTION_PWM_TIM_PIN           GPIO_Pin_5
#define MOTION_PWM_TIM_GPIO_PORT     GPIOE
#define MOTION_PWM_TIM_SOURCE        GPIO_PinSource5
#define MOTION_PWM_TIM_AF            GPIO_AF_TIM9
#define MOTION_PWM_TIM_OCxInit       TIM_OC1Init
#define MOTION_PWM_TIM_SetComparex   TIM_SetCompare1
#define MOTION_PWM_COUNTER_CLOCK     10000000

其實(shí),說(shuō)的再多,看的再多,不如自己行動(dòng)起來(lái)敲代碼,過(guò)程中你肯定會(huì)遇到各種各樣的問(wèn)題。

你用心解決這些問(wèn)題的過(guò)程,就是你成長(zhǎng)的過(guò)程。 最后,如何證明你編碼水平提升了?答:回看自己以前代碼,如果覺(jué)得爛,那就說(shuō)明你提升了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式開(kāi)發(fā)

    關(guān)注

    18

    文章

    1176

    瀏覽量

    50245
  • 模塊化
    +關(guān)注

    關(guān)注

    0

    文章

    359

    瀏覽量

    22820
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420

原文標(biāo)題:嵌入式開(kāi)發(fā)如何快速進(jìn)階?有捷徑?

文章出處:【微信號(hào):knifewheat,微信公眾號(hào):小麥大叔】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    低代碼可視化,破解嵌入式開(kāi)發(fā)高門檻難題

    在工業(yè)控制、智能硬件、物聯(lián)網(wǎng)快速發(fā)展的今天,嵌入式開(kāi)發(fā)作為核心支撐技術(shù),其高門檻卻成為行業(yè)發(fā)展的絆腳石。專業(yè)編碼要求高、新人上手慢、項(xiàng)目迭代滯后等問(wèn)題,制約著人才儲(chǔ)備與技術(shù)普及
    的頭像 發(fā)表于 03-25 14:13 ?235次閱讀
    低代碼可視化,破解<b class='flag-5'>嵌入式開(kāi)發(fā)</b>高門檻難題

    嵌入式單片機(jī)開(kāi)發(fā)學(xué)習(xí)路徑

    學(xué)習(xí)C語(yǔ)言 C語(yǔ)言是嵌入式開(kāi)發(fā)的基礎(chǔ)。掌握C語(yǔ)言的基本語(yǔ)法、指針、結(jié)構(gòu)體、內(nèi)存管理等內(nèi)容是進(jìn)入嵌入式開(kāi)發(fā)的前提。 2. 硬件知識(shí) 2.1 認(rèn)識(shí)單片機(jī) 單片機(jī)是嵌入式系統(tǒng)中的核心器件。了解單片機(jī)
    發(fā)表于 02-09 15:42

    嵌入式開(kāi)發(fā)常用函數(shù)速查表

    嵌入式開(kāi)發(fā)中,掌握常用函數(shù)的用法可以大大提高開(kāi)發(fā)效率。無(wú)論是單片機(jī)初學(xué)者還是一定經(jīng)驗(yàn)的工程師,熟悉函數(shù)庫(kù)和調(diào)用方式都是必備技能。今天,我們?yōu)榇蠹艺硪环?b class='flag-5'>嵌入式開(kāi)發(fā)常用函數(shù)速查表,覆
    的頭像 發(fā)表于 01-19 09:06 ?488次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>常用函數(shù)速查表

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    概述 所謂的嵌入式應(yīng)用開(kāi)發(fā)就是在嵌入式操作系統(tǒng)下進(jìn)行開(kāi)發(fā)、軟硬件綜合開(kāi)發(fā) ?嵌入式應(yīng)用
    發(fā)表于 01-12 16:13

    探索MCIMX93-QSB開(kāi)發(fā)板:開(kāi)啟嵌入式開(kāi)發(fā)新征程

    探索MCIMX93-QSB開(kāi)發(fā)板:開(kāi)啟嵌入式開(kāi)發(fā)新征程 在嵌入式開(kāi)發(fā)領(lǐng)域,一款優(yōu)秀的開(kāi)發(fā)板能為工程師們提供強(qiáng)大的支持,幫助他們快速驗(yàn)證想法、
    的頭像 發(fā)表于 12-24 14:55 ?1124次閱讀

    性能與性價(jià)比兼得!迅為RK3562開(kāi)發(fā)板開(kāi)啟嵌入式開(kāi)發(fā)新選擇

    性能與性價(jià)比兼得!迅為RK3562開(kāi)發(fā)板開(kāi)啟嵌入式開(kāi)發(fā)新選擇
    的頭像 發(fā)表于 12-23 16:10 ?1777次閱讀
    性能與性價(jià)比兼得!迅為RK3562<b class='flag-5'>開(kāi)發(fā)</b>板開(kāi)啟<b class='flag-5'>嵌入式開(kāi)發(fā)</b>新選擇

    從小白到大牛:Linux嵌入式系統(tǒng)開(kāi)發(fā)的完整指南

    );③社區(qū)論壇(CSDN 嵌入式板塊、Stack Overflow、知乎嵌入式話題);④進(jìn)階書(shū)籍《Linux 內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)》《嵌入式 Linux 系統(tǒng)
    發(fā)表于 12-16 10:42

    分享一個(gè)嵌入式開(kāi)發(fā)學(xué)習(xí)路線

    法,這些語(yǔ)法在嵌入式開(kāi)發(fā)中至關(guān)重要。 2. 技能進(jìn)階期(2-3個(gè)月) 從51單片機(jī)過(guò)渡到主流的ARM Cortex-M系列(嵌入式就業(yè)核心平臺(tái)),學(xué)會(huì)使用STM32單片機(jī),掌握嵌入式開(kāi)發(fā)
    發(fā)表于 12-04 11:01

    嵌入式開(kāi)發(fā)的關(guān)鍵點(diǎn)介紹

    嵌入式開(kāi)發(fā)在現(xiàn)代科技中扮演著非常重要的角色。隨著物聯(lián)網(wǎng)的發(fā)展,嵌入式系統(tǒng)的需求也越來(lái)越大。嵌入式開(kāi)發(fā)不僅需要開(kāi)發(fā)人員具備深入的硬件知識(shí)和編程經(jīng)驗(yàn),還需要不斷學(xué)習(xí)新的技術(shù)和工具,以滿足不
    發(fā)表于 11-13 08:12

    GT2440嵌入式開(kāi)發(fā)系統(tǒng)用戶手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《GT2440嵌入式開(kāi)發(fā)系統(tǒng)用戶手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 10-28 17:05 ?2次下載

    恩智浦如何攻克兩大嵌入式開(kāi)發(fā)難題

    在我們的身邊,嵌入式系統(tǒng)無(wú)處不在。而隨著技術(shù)的進(jìn)步和應(yīng)用的拓展,今天的嵌入式開(kāi)發(fā)也面臨著諸多新課題、新挑戰(zhàn)。
    的頭像 發(fā)表于 10-27 09:28 ?2083次閱讀

    嵌入式從入門到進(jìn)階,怎么學(xué)?

    嵌入式從入門到進(jìn)階,怎么學(xué)? 嵌入式學(xué)習(xí)的核心是 “軟硬結(jié)合的技術(shù)壁壘”,科學(xué)分層才能高效突破。以下是從入門到高階的精簡(jiǎn)路線,幫你避開(kāi)彎路: 1、基礎(chǔ)奠基層:構(gòu)建技術(shù)底座 C 語(yǔ)言聚焦 指針、結(jié)構(gòu)體
    發(fā)表于 09-02 09:44

    新一代嵌入式開(kāi)發(fā)平臺(tái) AMD嵌入式軟件和工具2025.1版現(xiàn)已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開(kāi)發(fā)而打造的綜合平臺(tái),全面加速概念構(gòu)想到部署落地。 2025.1 版嵌入式軟件和工具的新 增功能 AMD
    的頭像 發(fā)表于 08-20 09:15 ?4262次閱讀

    嵌入式開(kāi)發(fā)就業(yè)還有前景嗎?

    嵌入式的發(fā)展前景如何呢?隨著科技的飛速發(fā)展,嵌入式開(kāi)發(fā)在各個(gè)領(lǐng)域的應(yīng)用越來(lái)越廣泛,因此嵌入式開(kāi)發(fā)的就業(yè)前景也備受關(guān)注。以下將從智能家居、醫(yī)療設(shè)備、工業(yè)控制、汽車電子、航空航天等方面,探討嵌入式
    發(fā)表于 07-16 10:47

    嵌入式開(kāi)發(fā)入門指南:從零開(kāi)始學(xué)習(xí)嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開(kāi)發(fā)成為熱門技能之一。以下將為初學(xué)者提供一份詳細(xì)的嵌入式開(kāi)發(fā)入門指南,涵蓋學(xué)習(xí)路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用嵌入式系統(tǒng)
    發(fā)表于 05-15 09:29
    安义县| 安新县| 南漳县| 普宁市| 新巴尔虎右旗| 太仆寺旗| 修文县| 南雄市| 榆社县| 常宁市| 栾川县| 安图县| 元江| 兴国县| 涡阳县| 诸城市| 长子县| 逊克县| 德庆县| 龙游县| 昭平县| 南开区| 浮山县| 霞浦县| 星子县| 朝阳区| 昭平县| 西昌市| 东兴市| 家居| 开封市| 西乡县| 茶陵县| 保山市| 邢台县| 崇州市| 安泽县| 广安市| 芷江| 凉城县| 兰州市|