精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

嵌入式軟件的注釋技巧

安芯教育科技 ? 來源:人工智能科學與技術 ? 作者:人工智能科學與技 ? 2022-05-20 10:10 ? 次閱讀

在軟件實現過程中會作出成千上萬個決策,因此維護工程師甚至未來的你盡可能多地保留這些決策過程至關重要。

注釋代碼的問題部分原因來自出貨壓力、不正確的設計以及注釋代碼是如何工作的事情沒有開發來得有趣或興奮這個事實!

許多工程師(包括我自己)憎恨必須注釋代碼,但這項工作在嵌入式工程師開發過程中是如此重要,以致于我們絕對不能省略或三意二意地去做。

然而,可以在軟件開發過程中記住一些技巧,它們有助于確保未來開發人員維護好代碼開發中的任何細微變動。

技巧1——隨時而不是過后進行注釋

交付產品的壓力經常導致天馬行空般的編碼風格,為了完成任務以便盡早推出產品,代碼是想到哪就編到哪。在瘋狂的代碼編寫過程中,很少想到記錄下代碼要完成的功能。等產品交貨后,設計人員才會回去瀏覽代碼并進行“注釋”。

這樣做的問題是,這時已經距離寫完代碼幾周甚至幾個月的時間了!對一些工程師來說記起昨天早餐吃的是什么都很難,更不用說兩周前寫的一段代碼了。最終結果是不準確的注釋說明,日后往往會引起誤解和缺陷。

這里的技巧當然是在進行決策的同時隨時進行注釋。形式化的外部文檔注釋過程無疑會降低開發人員的進度,但向代碼庫中增加注釋真的不會占用更多時間。

開發人員能夠做的第一件事是先對代碼要做什么事寫一些注釋行,然后再寫代碼。如果實現發生了變化,開發人員可以立即更新注釋。在任何情況下,在編寫代碼的同時寫下注釋只會節省時間和增加條理性,從而更少發生錯誤,產品也能更快的上市。

技巧2——自動生成注釋文檔

盡管對代碼做了很詳細的注釋,但總是有生成外部文檔的要求,以便任何人不看代碼就能明白程序功能。這個要求經常導致雙倍的注釋工作量。

幸運的是,市場上有現成的工具可以自動讀取代碼注釋、然后生成界面和代碼的其它文檔細節!幫助工程師避免必須做兩次相同的工作!一個具有這種功能的免費工具例子是Doxygen。

當開發人員在編寫他們的代碼時,他們以指定方式格式化他們的注釋,并提供他們想要在外部文檔中展示的細節內容。然后他們就可以運行Doxygen生成真實反映軟件內注釋的html、rtf或pdf文檔。美妙的是如果你更新注釋,外部文檔也會自動更新!

技巧3——不要寫顯式的注釋

雖然開發人員寫了代碼注釋,但如果注釋只是變量或函數名字的重復,會特別令人惱火。注釋應該是描述性的文字,需要提供顯式意思之外更多的細節!

提供盡可能多的信息,而且不要忘了提及相關和關聯的變量或函數。開發人員應該能夠只通過閱讀注釋就了解軟件的行為。圖1給出了一個注釋簡單映射數組代碼的例子。

33062b96-d7da-11ec-bce3-dac502259ad0.jpg

圖1:映射數組

技巧4——提供使用例子以便更清楚地了解用途

函數或變量注釋中包含如何使用它們的例子是很有用的。說應該如何使用是一回事,但展示如何使用會讓人更清楚其用途。除了能夠減少錯誤使用對象的機會外,還能給人一個更清晰的印象。

圖2顯示了一個如何注釋函數的例子,它告訴開發人員應該如何使用這個函數,從而避免了容易出錯的猜測過程,使人能夠更清晰地了解其用途。

331b0ce6-d7da-11ec-bce3-dac502259ad0.jpg

img

圖2——使用例子

技巧5——創建注釋標準

就像寫代碼一樣,為代碼開發注釋和文檔也應該有個標準。由于注釋標準中不可能有許多條款,因此特別推薦向編寫代碼標準靠攏。

也就是說確保小組中的每個成員以相同的方式進行注釋和歸檔,從而確保開發的易用性。開發人員應該專注于解決手頭的設計問題,而不是費勁地去搞懂注釋。

技巧6——使用文檔模板

確保注釋遵循標準的最容易的方法是為頭文件、源文件和支持文件創建模板。當創建一個新模塊時,可以從模板入手,然后增加相關的信息。這將有助于確保文件信息塊、代碼段、函數和變量都用相同的格式注釋。

這種方法的最大優勢是能夠節省大量時間,并有助于減少將一個模塊拷貝到另一個偽模板時發生的拷貝粘貼錯誤。為了讓生活更加輕松,我特意開發了可以用于定義頭文件和源文件的模板。

技巧7——圖表的作用

在一個項目的軟件實現階段開始之前,應該有一個軟件設計階段。這個設計階段無疑會生成許多漂亮的圖(如流程圖和狀態機),并被用于實際實現。

雖然這些文檔作為軟件的開發路線圖,但在開發和測試過程中總會出現偏差!遺憾的是,這些變化很少會返回到圖表中。結果是設計文檔和軟件的不匹配!

在實現和測試階段將這些圖表放在手邊,以便發生上述偏差時這些圖表能及時得到更新。將這些圖表留到日后更新永遠不是正確的做法。雖然我們總是有返回去更新或修復的良好愿望,但這永遠不是合適的時機。

技巧8——保持注釋框使用的一致性

就像聽起來一樣奇怪,許多網絡爭論的內容是何時、哪里使用何種類型的注釋框!不過嚴肅地講,不管你的信仰是什么,歸根到底是一致性問題。

如果一個團隊決定只使用/…/類型的注釋,那么就只使用這種類型。如果決定使用//類型,那就只使用//類型。

作者個人的觀點是傾向于使用/…/進行函數和模塊級說明,使用//進行函數代碼說明。不管選擇是什么,確保每次都按同樣的方式去做,這樣有助于生活更加輕松。

技巧9——使注釋更容易閱讀(即格式的美化)

為了確保避免誤解并由此產生代碼缺陷,使代碼保持結構化和容易閱讀很重要。注釋也一樣。偶爾結構化的注釋會使眼睛很難捕捉注釋,更難捕捉不在合適位置的內容。應該對注釋進行格式化處理,這樣如果代碼打印出來時(雖然現在不常打印,但我偶然仍會打印代碼)注釋就不會分到好幾頁上去。

在大塊注釋(如文件頭或函數注釋)中,如果你使用塊指示器,千萬不要包含進任何拖尾字符(如#或*),要不只會使文檔更新變得更加困難。

技巧10——嵌入圖像和圖表

借助自動化工具的使用,在注釋文檔中包含編碼標準、縮寫詞、項目細節、要求和大量其它條款就成了可能。甚至能夠包含諸如流程圖等設計性圖表!

使用這類功能允許代碼庫不僅包含執行代碼和邏輯,還包含你想要了解的項目所有內容,并且所有信息都放在同一個地方。

審核編輯 :李倩

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

    關注

    6

    文章

    935

    瀏覽量

    54764
  • 嵌入式軟件
    +關注

    關注

    4

    文章

    240

    瀏覽量

    26618
  • 代碼
    +關注

    關注

    30

    文章

    4748

    瀏覽量

    68356

原文標題:技術分享 | 嵌入式軟件的注釋技巧

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式軟件與非嵌入式軟件的區別

    嵌入式軟件與非嵌入式軟件的區別嵌入式:在已有的硬件上移植(需要修改操作系統源碼,安裝不需要)操作系統解決軟硬件耦合導致的問題。
    發表于 10-27 06:18

    嵌入式軟件和非嵌入式軟件區別

    1.什么是嵌入式技術?嵌入式技術是以應用為中心,以計算機技術為基礎的系統技術。它初起源于單片機技術,是各類數字化的電子、機電產品的核心,主要用于實現對硬件設備的控制、監視或管理等功能。2.嵌入式
    發表于 12-21 07:41

    什么是嵌入式軟件開發

    嵌入式軟件開發又是指什么?   隨著嵌入式軟件系統結構越來越復雜,嵌入式軟件的開發已成
    發表于 04-20 08:43 ?8756次閱讀

    基于CodeTEST的嵌入式軟件測試技術

    嵌入式軟件測試有助于提高嵌入式軟件質量和可靠性。因此,利用CodeTEST相對于其他嵌入式軟件
    發表于 01-17 15:53 ?41次下載

    ARM嵌入式軟件開發

    ARM嵌入式軟件開發ARM嵌入式軟件開發ARM嵌入式軟件開發
    發表于 01-15 17:29 ?64次下載

    嵌入式軟件是什么意思_嵌入式軟件的分類有哪些

    本文首先闡述了嵌入式軟件的概念,其次介紹了嵌入式軟件的特征,最后介紹了嵌入式軟件的分類。
    發表于 08-31 15:54 ?1.6w次閱讀

    嵌入式軟件的開發流程_嵌入式軟件的調試

    本文首先介紹了嵌入式軟件的發展,其次闡述了嵌入式軟件的開發流程,最后介紹了嵌入式軟件的調試。
    發表于 08-31 16:02 ?6239次閱讀

    嵌入式軟件測試參考書籍

    嵌入式軟件測試的幾本參考書籍:1、《嵌入式軟件測試》;2、《嵌入式軟件測試 方法、案例與模板詳解
    發表于 10-20 12:06 ?51次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>測試參考書籍

    嵌入式軟件

    嵌入式跟其他純軟件開發不一樣,嵌入式軟件的基礎是要懂硬件原理,要會看懂硬件電路圖,所以要有數電和模電基礎。哪些知識是嵌入式
    發表于 10-20 16:21 ?11次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>

    嵌入式軟件測試研究意義,嵌入式軟件測試的研究

    摘要:嵌入式系統在人類生活中發揮著重要的作用,包括飛行控制器這樣的控制系統,以及洗衣機這樣的家用電器。日前,嵌入式系統中軟件的比重越來越大,也越來越復雜,保證嵌入式
    發表于 10-20 17:20 ?17次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>測試研究意義,<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>測試的研究

    嵌入式系統框架----軟件

    1.overview 圖1-1 嵌入式框架圖嵌入式系統分為硬件以及軟件兩大部分,大多數人參與的是嵌入式
    發表于 10-20 19:21 ?5次下載
    <b class='flag-5'>嵌入式</b>系統框架----<b class='flag-5'>軟件</b>篇

    嵌入式軟件開發環境

    嵌入式軟件開發環境1 簡介嵌入式軟件定義嵌入式系統構成2 環境搭建2.1 Qt2.2 CLion2.3 Source Insight + v
    發表于 10-21 12:21 ?7次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發環境

    嵌入式軟件開發的特點、設計流程、嵌入式軟件的結構

    ? ? ? ?嵌入式軟件開發的特點、設計流程、嵌入式軟件的結構?一:嵌入式軟件開發的特點1.?
    發表于 11-03 15:21 ?37次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發的特點、設計流程、<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>的結構

    談談汽車嵌入式軟件

    嵌入式軟件就是嵌入在硬件中的操作系統和開發工具軟件,它在產業中的關聯關系體現為:芯片設計制造→嵌入式系統
    發表于 10-27 10:28 ?1097次閱讀

    嵌入式開發中,嵌入式硬件和軟件有什么區別?

    嵌入式指的是把軟件直接燒錄在硬件里,而不是安裝在外部存儲介質上,就像賦予機器人靈魂,從而方便人類操控。在嵌入式開發中,分為嵌入式硬件和嵌入式
    的頭像 發表于 07-18 18:11 ?3395次閱讀
    <b class='flag-5'>嵌入式</b>開發中,<b class='flag-5'>嵌入式</b>硬件和<b class='flag-5'>軟件</b>有什么區別?