国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

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

目錄

一、美顏 Astyle+Source Insight

二、祛痘 cppCheck

三、返老還童 git

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

一、美顏 Astyle+Source Insight

1.1真假小龍女的問題

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

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

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

1.2 代碼格式化

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

不管編碼使用Keil/MDK、Qt等集成工具,或者純粹的代碼編輯工具Source Insight,一般都支持自定義運行可執(zhí)行文件,如Astyle。可以客制化新菜單,一鍵執(zhí)行Astyle,將代碼一鍵格式化,排版統(tǒng)一、層次分明。

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


效果如下

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

1、在選項或者工具下(不同Source Insight版本不同)打開“自定義命令”,添加命令和運行。

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

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

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

1.3 高級配置

前面只是Source Insight的基礎擴展,下面簡要說明下高級擴展宏功能,本文只是描述下基本流程。1、配置菜單

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

3、確定之后自動在光標處插入代碼

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

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

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

Ask說明:

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

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

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

1.4 總結

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

二、祛痘 cppCheck

2.1 祛痘除隱患

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

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

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

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

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

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

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

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

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

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

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

“分析”導入文件或文件夾后,即可啟動自動格式化并分析代碼邏輯,顯示結果如下:

選擇“分析結果”欄,則顯示掃描出的風險代碼,標明風險類型和代碼位置,具體顯示如下圖。

2.3 源碼分析

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


2.4 總結

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

三、返老還童 git

3.1 月光寶盒

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

對于程序員,一份完美的代碼,修修補補,幾經(jīng)折騰終于封板;因為保存不善或者修改記錄丟失,那種痛苦也是一般人無法想象的。為了不會有失去才后悔莫急的痛楚,必須使用版本控制來追溯代碼的過去,程序員的月光寶盒就是Git神器。

3.2 版本控制git

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

十年來,一直是嵌入式軟件開發(fā),80%的時間使用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,這是兩種風格的界面,主體功能差不多,個人選擇的是后者。也可以兩個都安裝。

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

既然是界面操作,就開啟鼠標右鍵的快捷圖標。

后續(xù)一些安裝選項,全部選帶windows關鍵字的。

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

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

3.3 基礎演示

1、配置

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

3、在test下隨便改動,如新加123.txt,提交改動。此時鼠標右鍵

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

5、通用配置和常用功能

3.4 總結

Git的使用尤其是多人合作,注意以下幾點:

1、推送服務器前先同步;

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

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

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

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

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

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

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

責任編輯:xj

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

文章出處:【微信公眾號:玩轉(zhuǎn)單片機】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4970

    瀏覽量

    74014
  • 程序員
    +關注

    關注

    4

    文章

    956

    瀏覽量

    30946

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    超級電容怎么測多少f

    在超級電容器的應用中,漏電流是一個至關重要的參數(shù),它直接影響電容器的性能和壽命。知道嗎
    的頭像 發(fā)表于 02-05 09:27 ?198次閱讀
    超級電容怎么測多少f

    如何避免SG三相隔離變壓器使用中的常見故障?

    開篇疑問句:知道嗎?即使是最可靠的SG三相隔離變壓器,如果不正確使用和維護,可能會出現(xiàn)各種故障。那么,怎樣才能有效地預防這些問題的發(fā)生呢?接下來,我們將為揭示幾個實用的小技巧。1
    的頭像 發(fā)表于 11-06 17:09 ?570次閱讀
    如何避免SG三相隔離變壓器使用中的常見故障?

    薄膜電容的關鍵詞是什么知道嗎

    薄膜電容是一種以金屬箔作為電極,以聚乙酯、聚丙烯、聚苯乙烯等塑料薄膜作為電介質(zhì)的電容器,在電子電路中具有重要作用。薄膜電容有哪些關鍵詞知道嗎
    的頭像 發(fā)表于 10-13 15:30 ?507次閱讀
    薄膜電容的關鍵詞是什么<b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>?

    知道板卡廠商參與芯片研發(fā)的α階段意味著什么?

    大家都知道芯片很重要,但是否知道一顆芯片從設計構思到最終量產(chǎn),需要經(jīng)歷怎樣一個漫長的過程嗎?
    的頭像 發(fā)表于 09-24 17:08 ?7615次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道</b>板卡廠商參與芯片研發(fā)的α階段意味著什么?

    LED亮度含義知道嗎

    選購LED燈具或LED顯示產(chǎn)品時,“亮度夠不夠”往往是人們考量的重要因素。
    的頭像 發(fā)表于 09-23 17:42 ?2189次閱讀

    工控機和電腦的區(qū)別有多大?知道嗎

    工控機和電腦在我們的生活和工作中都扮演著重要角色,但它們之間存在著諸多區(qū)別。下面我們就來詳細探討一下。
    的頭像 發(fā)表于 09-13 11:15 ?6179次閱讀
    工控機和電腦的區(qū)別有多大?<b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>

    想搞定控制器連接?耐達訊Modbus轉(zhuǎn)Profinet這招知道嗎

    點,還能提升整個系統(tǒng)的性能和效率。如果在為協(xié)議連接問題發(fā)愁,不妨試試這個“破圈密碼”。在項目中還有哪些協(xié)議連接難題呢?
    發(fā)表于 07-25 15:41

    已收藏!需要知道的57個常用樹莓派命令!

    初次使用樹莓派并不總是那么容易,因為可能還沒有使用命令行的習慣。然而,終端命令是必不可少的,而且通常比通過圖形用戶界面(GUI)操作更高效。那么,有哪些重要的命令是應該知道的呢?有相當多的命令
    的頭像 發(fā)表于 07-23 18:36 ?1155次閱讀
    已收藏!<b class='flag-5'>你</b><b class='flag-5'>需要知道</b>的57個常用樹莓派命令!

    波峰焊設備的維護和保養(yǎng)方法

    波峰焊設備作為電子制造的關鍵設備,其性能的穩(wěn)定與否直接影響焊接質(zhì)量和生產(chǎn)效率。深圳市晉力達設備的波峰焊憑借諸多優(yōu)勢,在保障焊接效果的同時,為設備維護保養(yǎng)帶來便利。做好設備的維護與保養(yǎng)工作,不僅
    的頭像 發(fā)表于 06-17 17:03 ?1568次閱讀

    知道嗎?預付費平臺結合電表能合理控制用電成本

    預付費電表,被稱為先付費電表,是一種新型的電能計量儀表。安科瑞+武陳燕+17269603655 1.基本原理 它是基于電能計量技術和預付費控制技術相結合的產(chǎn)物。用戶需要先購買電量,將購電費用存入
    的頭像 發(fā)表于 06-05 16:34 ?614次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>?預付費平臺結合電表能合理控制用電成本

    從初學到進階:樹莓派上最適合代碼編輯器推薦!

    之前,需要安裝一些必備工具,代碼編輯器便是其中之一。樹莓派系統(tǒng)自帶了一些代碼編輯器,它們功能良好,足以滿足基本需求。不過,如果
    的頭像 發(fā)表于 05-15 16:20 ?1209次閱讀
    從初學到進階:樹莓派上最適合<b class='flag-5'>你</b>的<b class='flag-5'>代碼</b>編輯器推薦!

    如何保養(yǎng)紅外熱像儀

    紅外熱像儀作為一種高科技、高精密的檢測計量設備,廣泛應用于工業(yè)檢測、建筑診斷、安防監(jiān)控等多個領域。為了確保其長期穩(wěn)定運行和精準測量,正確的保養(yǎng)方法至關重要。今天,小菲就來跟大家聊聊如何保養(yǎng)紅外熱像儀。
    的頭像 發(fā)表于 05-10 09:23 ?1258次閱讀

    STM32的幾種開發(fā)方式,知道嗎?(可下載)

    形式如下:1. 使用標準外設庫開發(fā) 2.使用寄存器開 3.使用 CubeMax 生成代碼工具開發(fā) 下面我們先來說一下目前這幾種形式的區(qū)別:1.使用標準外設庫開發(fā)S
    發(fā)表于 04-03 11:24 ?0次下載

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

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

    設備保養(yǎng)計劃自動生成?這5個功能必須知道

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