99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

你知道嗎 代碼也需要保養(yǎng)

GReq_mcu168 ? 來(lái)源:玩轉(zhuǎn)單片機(jī) ? 作者:玩轉(zhuǎn)單片機(jī) ? 2020-12-02 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

不只女人要保養(yǎng),代碼也是如此。面向?qū)ο?a target="_blank">編程,就是把面對(duì)的代碼當(dāng)作對(duì)象一樣,定期對(duì)其進(jìn)行保養(yǎng)。

目錄

一、美顏 Astyle+Source Insight

二、祛痘 cppCheck

三、返老還童 git

四、工欲善其事必先利其器

一、美顏 Astyle+Source Insight

1.1真假小龍女的問(wèn)題

都說(shuō)秀色可餐,同樣的角色,都是小龍女,但是效果不一樣。

實(shí)現(xiàn)同樣的功能,有的代碼一目了然,像詩(shī)一樣賞心悅目;有的卻像SHI一樣,如下面的代碼,雖然功能正常,但看起來(lái)什么感覺(jué)?

正如女人愛(ài)美一樣,出門必化妝,拍照必美顏;代碼也是需要美顏妝扮,除非你期望后來(lái)接手者在心中的十萬(wàn)個(gè)詛咒,這TM誰(shuí)寫的?尤其對(duì)嵌入式系統(tǒng)產(chǎn)品,升級(jí)維護(hù)周期長(zhǎng),軟件的可讀性就顯得更加重要;代碼規(guī)范對(duì)后續(xù)維護(hù)升級(jí)是大有裨益的。

1.2 代碼格式化

一般公司不缺編碼規(guī)范,缺的是執(zhí)行。小項(xiàng)目單人完成,編碼風(fēng)格隨心所欲;大項(xiàng)目團(tuán)隊(duì)完成,編碼風(fēng)格各不相同。目前來(lái)說(shuō),個(gè)人只發(fā)現(xiàn)go語(yǔ)言是編譯時(shí)強(qiáng)制格式化,其他語(yǔ)言編譯時(shí),不檢查排版格式。對(duì)于編碼規(guī)范,不能依靠個(gè)人主觀,強(qiáng)推工具自動(dòng)實(shí)現(xiàn)才能提高執(zhí)行力。

不管編碼使用Keil/MDK、Qt等集成工具,或者純粹的代碼編輯工具Source Insight,一般都支持自定義運(yùn)行可執(zhí)行文件,如Astyle??梢钥椭苹虏藛?,一鍵執(zhí)行Astyle,將代碼一鍵格式化,排版統(tǒng)一、層次分明。

Astyle官網(wǎng) http://astyle.sourceforge.net/ 按要求下載安裝,只需要AStyle.exe即可。關(guān)于其使用和參數(shù),可以在進(jìn)入Documentation。對(duì)代碼基本風(fēng)格,{}如何對(duì)齊、是否換行,switch-case如何排版,tab鍵占位寬度,運(yùn)算符或變量前后的空格等等,基本上代碼排版涉及的方方面面都有參數(shù)說(shuō)明。個(gè)人選擇的編碼參數(shù)是


效果如下

建議先參考文檔逐個(gè)熟悉作用,確認(rèn)參數(shù),然后集成到編輯工具,以Source Insight為例。

1、在選項(xiàng)或者工具下(不同Source Insight版本不同)打開(kāi)“自定義命令”,添加命令和運(yùn)行。

2、選擇正確的路徑,結(jié)合前面的參數(shù)類型,最后必須加上%f,表示對(duì)該文件執(zhí)行,

C:AStyle.exe --style=allman -S -U -t -n -K -p -s4 -j -q -Y -xW -xV %f

3、將該命令插入到編輯菜單,后續(xù)在編輯欄點(diǎn)擊Astyle,即可對(duì)當(dāng)前文件自動(dòng)進(jìn)行格式化排版。

1.3 高級(jí)配置

前面只是Source Insight的基礎(chǔ)擴(kuò)展,下面簡(jiǎn)要說(shuō)明下高級(jí)擴(kuò)展宏功能,本文只是描述下基本流程。1、配置菜單

2、插入之后,在主菜單欄會(huì)出現(xiàn)“工作”的菜單,點(diǎn)擊Insertifdef,彈出如下對(duì)話框

3、確定之后自動(dòng)在光標(biāo)處插入代碼

4、不止是支持插入if defined ,還包括插入文件頭,對(duì)h文件插入避免多次包含的宏,對(duì)函數(shù)插入注釋,以及自動(dòng)添加編輯時(shí)間、作者名稱等。這些宏配置和前面一樣,至于客制化,比如函數(shù)注釋的內(nèi)容、格式等,也是可以自由定義。5、配置路徑如下

先關(guān)閉全部Source Insight工程,再打開(kāi)Base.PR,編輯utils.em。如前面的宏 Insertifdef就是如下的代碼

如Ask就是彈出提示語(yǔ),sz獲取輸入的內(nèi)容,再InsBufLine插入兩行代碼。而這些接口的使用說(shuō)明,只要打開(kāi)Source Insight的幫助即可查看。

Ask說(shuō)明:

例如插入函數(shù)注釋的代碼如下:

最終自動(dòng)插入的函數(shù)注釋顯示效果如下:

6、其他宏也是這樣,可以自由配置,當(dāng)然,開(kāi)啟這個(gè)功能的第一步是先編輯,替換全部szMyName為自己的名字。有一點(diǎn)需要注意的是插入函數(shù)注釋時(shí),光標(biāo)必須在該函數(shù)第一個(gè){內(nèi),否則無(wú)法獲取函數(shù)名,會(huì)提示錯(cuò)誤。

1.4 總結(jié)

Source Insight集成Astyle自動(dòng)排版,統(tǒng)一風(fēng)格;集成宏定義,統(tǒng)一注釋格式、提高效率。

二、祛痘 cppCheck

2.1 祛痘除隱患

依靠美顏可以掩蓋面部瑕疵,如痘痘,但為了極致,應(yīng)該從根源祛痘,素顏就美,淡妝濃抹總相宜。代碼規(guī)范整齊,還要沒(méi)有隱患,大部分開(kāi)發(fā)人員都對(duì)警告視而不見(jiàn),覺(jué)得隱患沒(méi)啥大問(wèn)題,

同樣的美女,若是一臉痘痘,顏值瞬間下降。代碼也是如此,編譯警告如同痘痘,看起來(lái)不礙事,實(shí)際對(duì)代碼的質(zhì)量和后期維護(hù)都是隱患,要培養(yǎng)習(xí)慣,凡是警告都要消滅的習(xí)慣。

另外對(duì)于編碼規(guī)范,不只是排版布局,還有命名規(guī)范,例如宏定義使用小寫字母,就必須指出要求修改。所以,代碼必須經(jīng)過(guò)祛痘,除去小隱患,嚴(yán)苛的要求,造就趨于完美的代碼。但是,依靠人工檢查效率低下,靜態(tài)掃描順便檢查命名規(guī)范的神器應(yīng)運(yùn)而生。

代碼的靜態(tài)檢測(cè)工具有很多,為什么推薦cppCheck?因?yàn)樗荙t實(shí)現(xiàn)且開(kāi)源。作為嵌入式軟件開(kāi)發(fā),Qt可以錦上添花,它本身可以多平臺(tái)運(yùn)行,平時(shí)使用它開(kāi)發(fā)小工具,模擬驗(yàn)證部分代碼,比起在真機(jī)編譯下載調(diào)試快捷方便。

cppCheck官網(wǎng)http://cppcheck.net/,可以下載執(zhí)行文件和源碼,稍微有Qt基礎(chǔ)的,可以下載源碼,其Qt工程如下,可以根據(jù)自身要求和能力,進(jìn)行二次開(kāi)發(fā)。

實(shí)現(xiàn)代碼自動(dòng)格式化和靜態(tài)分析,可以有效規(guī)避軟件風(fēng)險(xiǎn)。基于開(kāi)源的Cppcheck,集成Astyle,結(jié)合實(shí)際開(kāi)發(fā)平臺(tái)和編碼標(biāo)準(zhǔn),使用Qt集成的codeCheck誕生了。

codeCheck執(zhí)行的流程,先將C語(yǔ)言代碼自動(dòng)格式化,按指定的規(guī)則排版對(duì)齊,調(diào)整代碼間空格和間距,特殊語(yǔ)句強(qiáng)制換行或添加括號(hào)等,簡(jiǎn)單操作即可完成代碼格式統(tǒng)一化(也就是上一章的配置參數(shù))。然后拆分代碼字符,建立token數(shù)據(jù)庫(kù),按預(yù)置的規(guī)則分析代碼是否存在匹配的非法代碼,并直觀顯示風(fēng)險(xiǎn)代碼位置以便跟蹤修復(fù)。codeCheck不具備編譯語(yǔ)法分析,因此導(dǎo)入的文件必先確保編譯正常,再進(jìn)行分析才有意義。

針對(duì)實(shí)際開(kāi)發(fā)中的問(wèn)題點(diǎn),比如變量命名沖突,或者關(guān)鍵變量缺少注釋導(dǎo)致維護(hù)升級(jí)困難,特別增加了個(gè)性化掃描標(biāo)準(zhǔn)。由于個(gè)人時(shí)間和水平有限,工具還存在優(yōu)化改進(jìn)的必要,但基本可滿足常規(guī)應(yīng)用和新人培養(yǎng)。

即使沒(méi)有Qt基礎(chǔ),直接使用開(kāi)源版本,也是相當(dāng)給力的,二次開(kāi)發(fā)只是錦上添花而已。

2.2 代碼掃描與靜態(tài)分析

個(gè)人二次開(kāi)發(fā)后的主界面如下,和原始的cppcheck差不多,只是多了命名規(guī)范檢查(全局變量必須g_開(kāi)頭,帶注釋;宏定義、枚舉值禁止包含小寫字母等)。

“分析”導(dǎo)入文件或文件夾后,即可啟動(dòng)自動(dòng)格式化并分析代碼邏輯,顯示結(jié)果如下:

選擇“分析結(jié)果”欄,則顯示掃描出的風(fēng)險(xiǎn)代碼,標(biāo)明風(fēng)險(xiǎn)類型和代碼位置,具體顯示如下圖。

2.3 源碼分析

非cppcheck源碼,二次開(kāi)發(fā)的代碼片段。


2.4 總結(jié)

實(shí)現(xiàn)代碼自動(dòng)格式化和靜態(tài)分析,可以有效規(guī)避軟件風(fēng)險(xiǎn)。

三、返老還童 git

3.1 月光寶盒

愛(ài)情不可期,往事成追憶。至尊寶可以使用月光寶盒穿越時(shí)空去尋找愛(ài)情。對(duì)于女人,擁有月光寶盒,即使容顏衰老,也可以回到過(guò)去,返老還童,永葆青春。

對(duì)于程序員,一份完美的代碼,修修補(bǔ)補(bǔ),幾經(jīng)折騰終于封板;因?yàn)楸4娌簧苹蛘咝薷挠涗泚G失,那種痛苦也是一般人無(wú)法想象的。為了不會(huì)有失去才后悔莫急的痛楚,必須使用版本控制來(lái)追溯代碼的過(guò)去,程序員的月光寶盒就是Git神器。

3.2 版本控制git

不必說(shuō)你有多聰明,每天拷貝一份代碼加描述備份;也不要說(shuō)以往的svn等工具有多先進(jìn);這些工具在git的分布式軟件版本控制面前,都不值一提,雖然Git也有缺點(diǎn),但是依然不能掩蓋它的光芒。

十年來(lái),一直是嵌入式軟件開(kāi)發(fā),80%的時(shí)間使用windows版的git可視化操作,相比命令行,更容易掌握與使用,查看版本記錄也更加直觀,命令行的操作方式不在本文考慮范圍。git官網(wǎng)https://git-scm.com/。

1、安裝TortoiseGit-2.5.0.0-64bit.msi 一路下一步,這只是安裝了git的內(nèi)核功能,要在windows下操作,需要安裝界面外殼。

2、安裝GitExtensions-2.50.02-SetupComplete.msi 或者 Git-2.15.0-64-bit.exe,這是兩種風(fēng)格的界面,主體功能差不多,個(gè)人選擇的是后者。也可以兩個(gè)都安裝。

3、安裝過(guò)程中出現(xiàn)較多的配置,所有選項(xiàng)中,全部都選帶windows關(guān)鍵字的,否則用起來(lái)看不出問(wèn)題,但是保存的記錄異常。

既然是界面操作,就開(kāi)啟鼠標(biāo)右鍵的快捷圖標(biāo)。

后續(xù)一些安裝選項(xiàng),全部選帶windows關(guān)鍵字的。

4、安裝完成后,鼠標(biāo)右鍵,會(huì)出現(xiàn) Git GUI Here。

5、如果是新手可安裝漢化補(bǔ)丁TortoiseGit-LanguagePack-2.5.0.0-64bit-zh_CN.msi,建議不要安裝,翻譯有點(diǎn)搞笑(rebase-變基)。

3.3 基礎(chǔ)演示

1、配置

2、創(chuàng)建本地版本庫(kù),git creat repository here,默認(rèn)操作,即可創(chuàng)建版本,會(huì)在test空文件夾下生成.git 。

3、在test下隨便改動(dòng),如新加123.txt,提交改動(dòng)。此時(shí)鼠標(biāo)右鍵

4、保存本次修改后,使用Git GUI Here->Repository->Visualize master's History查看全部版本記錄。

5、通用配置和常用功能

3.4 總結(jié)

Git的使用尤其是多人合作,注意以下幾點(diǎn):

1、推送服務(wù)器前先同步;

2、2個(gè)分支版本有沖突,先rebase解決;熟練操作前不要使用merge;

3、版本節(jié)點(diǎn)不能使用中文,修改描述可以;

4、編譯自動(dòng)生成的不要提交,可以使用TortoiseGit-->Delete and add in ignore list,濾指定的文件,即使有改動(dòng)也不提交;

5、Git自帶的比較工具比較差,可以配置使用外部比較工具。

一共三處,將Diff viewer和Merge Tool改為HA-BCompare。這個(gè)工具的比較功能強(qiáng)大,顯示界面清晰。

四、工欲善其事必先利其器

工欲善其事必先利其器,工具的熟練掌握、合理利用。代碼規(guī)范化,靜態(tài)掃描排除風(fēng)險(xiǎn),修改記錄保存完整,如此,才能保證代碼的質(zhì)量。

責(zé)任編輯:xj

原文標(biāo)題:程序員:女人要保養(yǎng),代碼也是如此~

文章出處:【微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70758
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    954

    瀏覽量

    30415

原文標(biāo)題:程序員:女人要保養(yǎng),代碼也是如此~

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    串口服務(wù)器品牌排名背后,隱藏著的行業(yè)潛規(guī)則知道嗎?

    在科技飛速發(fā)展的當(dāng)下,串口服務(wù)器作為連接串口設(shè)備與網(wǎng)絡(luò)的重要橋梁,在工業(yè)、金融、交通等眾多領(lǐng)域都有著廣泛應(yīng)用。市場(chǎng)上的串口服務(wù)器品牌繁多,各種品牌排名讓人眼花繚亂。但是否想過(guò),這些排名背后可能
    的頭像 發(fā)表于 03-27 13:09 ?286次閱讀

    設(shè)備保養(yǎng)計(jì)劃自動(dòng)生成?這5個(gè)功能必須知道

    在工業(yè)4.0的浪潮下,設(shè)備管理正經(jīng)歷深刻變革,借助智能系統(tǒng)實(shí)現(xiàn)設(shè)備保養(yǎng)計(jì)劃自動(dòng)化生成與高效執(zhí)行,助力企業(yè)降本增效。系統(tǒng)通過(guò)多維數(shù)據(jù)分析,精準(zhǔn)適配每臺(tái)設(shè)備,實(shí)現(xiàn)資源合理配置,避免停機(jī)損失。同時(shí),自動(dòng)派發(fā)任務(wù),實(shí)現(xiàn)無(wú)縫執(zhí)行。
    的頭像 發(fā)表于 03-20 11:24 ?333次閱讀
    設(shè)備<b class='flag-5'>保養(yǎng)</b>計(jì)劃自動(dòng)生成?這5個(gè)功能<b class='flag-5'>你</b>必須<b class='flag-5'>知道</b>

    如何維護(hù)和保養(yǎng)驅(qū)動(dòng)板

    ?維護(hù)和保養(yǎng)驅(qū)動(dòng)板的方法主要包括定期清潔、檢查連接線及接頭、潤(rùn)滑關(guān)鍵部件、避免過(guò)載以及規(guī)范存儲(chǔ)等?。 ?一、定期清潔? 定期清潔是維護(hù)和保養(yǎng)驅(qū)動(dòng)板最簡(jiǎn)單最有效的保養(yǎng)方式。使用軟布或刷
    的頭像 發(fā)表于 02-21 11:05 ?404次閱讀

    LED戶外顯示屏的五大優(yōu)勢(shì),知道嗎?

    LED戶外顯示屏的五大優(yōu)勢(shì),知道嗎? LED戶外顯示屏在城市的夜晚中扮演著越來(lái)越重要的角色,其鮮艷的色彩、生動(dòng)的畫面為城市增添了一抹亮色。那么,LED戶外顯示屏的顯示效果到底如何呢?讓我們一起
    的頭像 發(fā)表于 01-06 18:20 ?811次閱讀

    磷酸鐵鋰電池的 “三大克星”,知道嗎?

    了解磷酸鐵鋰電池害怕的這三個(gè)因素,并且在日常使用中加以注意,就能讓我們的電池保持良好的性能,延長(zhǎng)使用壽命,同時(shí)保障了使用過(guò)程中的安全。無(wú)論是開(kāi)電動(dòng)汽車出行,還是使用各類鋰電池儲(chǔ)能設(shè)備,都能更加安心、高效。
    的頭像 發(fā)表于 12-26 17:15 ?7872次閱讀
    磷酸鐵鋰電池的 “三大克星”,<b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>?

    使用ads1256讀取DRDY的口就變高,而且晶振不起振了,這是怎么回事?

    使用ads1256的時(shí)候一讀取DRDY的口就變高,而且晶振不起振了,請(qǐng)問(wèn)這是怎么回事啊,有哪位大俠知道嗎,請(qǐng)不吝賜教
    發(fā)表于 12-20 06:56

    SHS1000 X系列手持示波表基礎(chǔ)介紹

    SHS1000X手持示波表的使用方法知道嗎?
    的頭像 發(fā)表于 11-22 09:20 ?492次閱讀
    SHS1000 X系列手持示波表基礎(chǔ)介紹

    晶振怎么用,真的知道嗎

    導(dǎo)讀晶振應(yīng)該是陪伴我們最多而我們卻并非那么熟悉的元器件之一,其頻率對(duì)于電路的運(yùn)作很重要,今天我們?cè)敿?xì)介紹晶振的諧振頻率調(diào)整與常見(jiàn)應(yīng)用。諧振頻率的調(diào)整通常石英晶體產(chǎn)品給出的標(biāo)稱頻率是外接一個(gè)小電容Cs(在石英晶體產(chǎn)品的技術(shù)手冊(cè)中常稱為負(fù)載電容)時(shí)校正的振蕩頻率,Cs與石英晶體串接如圖1所示。利用Cs可使石英晶體的諧振頻率在一個(gè)小范圍內(nèi)調(diào)整。Cs的值應(yīng)選擇得比C
    的頭像 發(fā)表于 10-22 08:03 ?903次閱讀
    晶振怎么用,<b class='flag-5'>你</b>真的<b class='flag-5'>知道嗎</b>?

    電源的這些常識(shí)知道嗎

    因?yàn)殡娫床考窍钠?,?dǎo)致電源有一定的使用壽命。因此,使用一定時(shí)間后,我們或多或少會(huì)出現(xiàn)一些異常現(xiàn)象。一些簡(jiǎn)單的學(xué)生可以簡(jiǎn)單地自己解決。然而,許多情況下,涉及技術(shù)問(wèn)題的人無(wú)法開(kāi)始。這時(shí),我們需要知道
    的頭像 發(fā)表于 09-26 13:58 ?563次閱讀

    在光端機(jī)應(yīng)用中,晶振的核心作用你知道嗎

    在光端機(jī)應(yīng)用中,晶振的核心作用你知道嗎?隨著信息技術(shù)的發(fā)展,光纖通信在現(xiàn)代通信領(lǐng)域中扮演著重要的角色。而光端機(jī)在光纖通信系統(tǒng)中起著關(guān)鍵的作用,實(shí)現(xiàn)了光纖通信的高速、遠(yuǎn)距離傳輸和多協(xié)議兼容性,為現(xiàn)代
    發(fā)表于 09-23 11:26 ?0次下載

    物聯(lián)網(wǎng)設(shè)備需要雙卡嗎?

    知道嗎?實(shí)際應(yīng)用中,物聯(lián)網(wǎng)設(shè)是必需的!
    的頭像 發(fā)表于 09-21 08:12 ?541次閱讀
    物聯(lián)網(wǎng)設(shè)備<b class='flag-5'>也</b><b class='flag-5'>需要</b>雙卡嗎?

    知道影響貼片電感發(fā)熱的因素有哪些嗎?

    知道影響貼片電感發(fā)熱的因素有哪些嗎?
    的頭像 發(fā)表于 08-17 14:24 ?886次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>影響貼片電感發(fā)熱的因素有哪些嗎?

    知道貼片電感故障時(shí)可能出現(xiàn)的癥狀嗎?

    知道貼片電感故障時(shí)可能出現(xiàn)的癥狀嗎?
    的頭像 發(fā)表于 08-17 14:20 ?831次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>貼片電感故障時(shí)可能出現(xiàn)的癥狀嗎?

    知道共模電感用錯(cuò)了會(huì)有什么影響嗎

    電子發(fā)燒友網(wǎng)站提供《知道共模電感用錯(cuò)了會(huì)有什么影響嗎.docx》資料免費(fèi)下載
    發(fā)表于 07-30 10:42 ?0次下載

    減速電機(jī)的保養(yǎng)方法

    減速電機(jī)的保養(yǎng)方法 減速電機(jī)是一種應(yīng)用廣泛的減速傳動(dòng)設(shè)備,在使用中要做如下幾點(diǎn)保養(yǎng),齒輪箱保養(yǎng)、潤(rùn)滑保養(yǎng)、軸承檢查與維護(hù)、驅(qū)動(dòng)電機(jī)保養(yǎng)以及減
    的頭像 發(fā)表于 07-23 13:39 ?1562次閱讀