總算明白嵌入式軟件開(kāi)發(fā)的十大技巧 |
||||||||||||||||||||
|
今天小編跟大家分享關(guān)于“嵌入式軟件開(kāi)發(fā)的十大技巧”的相關(guān)內(nèi)容,希望對(duì)大家有所幫助。
1 技巧1——隨時(shí)而不是過(guò)后進(jìn)行注釋
交付產(chǎn)品的壓力經(jīng)常導(dǎo)致天馬行空般的編碼風(fēng)格,,為了完成任務(wù)以便盡早推出產(chǎn)品,,代碼是想到哪就編到哪。在瘋狂的代碼編寫(xiě)過(guò)程中,,很少想到記錄下代碼要完成的功能,。等產(chǎn)品交貨后,設(shè)計(jì)人員才會(huì)回去瀏覽代碼并進(jìn)行“注釋”,。這樣做的問(wèn)題是,,這時(shí)已經(jīng)距離寫(xiě)完代碼幾周甚至幾個(gè)月的時(shí)間了!對(duì)一些工程師來(lái)說(shuō)記起昨天早餐吃的是什么都很難,更不用說(shuō)兩周前寫(xiě)的一段代碼了,。結(jié)果是不準(zhǔn)確的注釋說(shuō)明,,日后往往會(huì)引起誤解和缺陷。這里的技巧當(dāng)然是在進(jìn)行決策的同時(shí)隨時(shí)進(jìn)行注釋,。形式化的外部文檔注釋過(guò)程無(wú)疑會(huì)降低開(kāi)發(fā)人員的進(jìn)度,,但向代碼庫(kù)中增加注釋真的不會(huì)占用更多時(shí)間。開(kāi)發(fā)人員能夠做的一件事是先對(duì)代碼要做什么事寫(xiě)一些注釋行,,然后再寫(xiě)代碼,。如果實(shí)現(xiàn)發(fā)生了變化,開(kāi)發(fā)人員可以立即更新注釋,。在任何情況下,,在編寫(xiě)代碼的同時(shí)寫(xiě)下注釋只會(huì)節(jié)省時(shí)間和增加條理性,從而更少發(fā)生錯(cuò)誤,,產(chǎn)品也能更快的上市,。
2 技巧2——自動(dòng)生成注釋文檔
盡管對(duì)代碼做了很詳細(xì)的注釋,但總是有生成外部文檔的要求,,以便任何人不看代碼就能明白程序功能,。這個(gè)要求經(jīng)常導(dǎo)致雙倍的注釋工作量。幸運(yùn)的是,,市場(chǎng)上有現(xiàn)成的工具可以自動(dòng)讀取代碼注釋,、然后生成界面和代碼的其它文檔細(xì)節(jié)!幫助工程師避免必須做兩次相同的工作!一個(gè)具有這種功能的免費(fèi)工具例子是Doxygen。當(dāng)開(kāi)發(fā)人員在編寫(xiě)他們的代碼時(shí),,他們以指定方式格式化他們的注釋,,并提供他們想要在外部文檔中展示的細(xì)節(jié)內(nèi)容。然后他們就可以運(yùn)行Doxygen生成真實(shí)反映軟件內(nèi)注釋的html,、rtf或pdf文檔,。美妙的是如果你更新注釋,外部文檔也會(huì)自動(dòng)更新!
3 技巧3——不要寫(xiě)顯式的注釋
雖然開(kāi)發(fā)人員寫(xiě)了代碼注釋,,但如果注釋只是變量或函數(shù)名字的重復(fù),,會(huì)特別令人惱火,。注釋?xiě)?yīng)該是描述性的文字,需要提供顯式意思之外更多的細(xì)節(jié)!提供盡可能多的信息,,而且不要忘了提及相關(guān)和關(guān)聯(lián)的變量或函數(shù),。開(kāi)發(fā)人員應(yīng)該能夠只通過(guò)閱讀注釋就了解軟件的行為。
4 技巧4——提供使用例子以便更清楚地了解用途
函數(shù)或變量注釋中包含如何使用它們的例子是很有用的,。說(shuō)應(yīng)該如何使用是一回事,,但展示如何使用會(huì)讓人更清楚其用途。除了能夠減少錯(cuò)誤使用對(duì)象的機(jī)會(huì)外,,還能給人一個(gè)更清晰的印象,。
5 技巧5——?jiǎng)?chuàng)建注釋標(biāo)準(zhǔn)
就像寫(xiě)代碼一樣,為代碼開(kāi)發(fā)注釋和文檔也應(yīng)該有個(gè)標(biāo)準(zhǔn),。由于注釋標(biāo)準(zhǔn)中不可能有許多條款,,因此特別推薦向編寫(xiě)代碼標(biāo)準(zhǔn)靠攏。也就是說(shuō)確保小組中的每個(gè)成員以相同的方式進(jìn)行注釋和歸檔,,從而確保開(kāi)發(fā)的易用性,。開(kāi)發(fā)人員應(yīng)該專注于解決手頭的設(shè)計(jì)問(wèn)題,而不是費(fèi)勁地去搞懂注釋,。
6 技巧6——使用文檔模板
確保注釋遵循標(biāo)準(zhǔn)的容易的方法是為頭文件,、源文件和支持文件創(chuàng)建模板。當(dāng)創(chuàng)建一個(gè)新模塊時(shí),,可以從模板入手,然后增加相關(guān)的信息,。這將有助于確保文件信息塊,、代碼段、函數(shù)和變量都用相同的格式注釋,。這種方法的優(yōu)勢(shì)是能夠節(jié)省大量時(shí)間,,并有助于減少將一個(gè)模塊拷貝到另一個(gè)偽模板時(shí)發(fā)生的拷貝粘貼錯(cuò)誤。為了讓生活更加輕松,,特意開(kāi)發(fā)了可以用于定義頭文件和源文件的模板,。
7 技巧7——圖表的作用
在一個(gè)項(xiàng)目的軟件實(shí)現(xiàn)階段開(kāi)始之前,應(yīng)該有一個(gè)軟件設(shè)計(jì)階段,。這個(gè)設(shè)計(jì)階段無(wú)疑會(huì)生成許多漂亮的圖(如流程圖和狀態(tài)機(jī)),,并被用于實(shí)際實(shí)現(xiàn)。雖然這些文檔作為軟件的開(kāi)發(fā)路線圖,,但在開(kāi)發(fā)和測(cè)試過(guò)程中總會(huì)出現(xiàn)偏差!遺憾的是,,這些變化很少會(huì)返回到圖表中。結(jié)果是設(shè)計(jì)文檔和軟件的不匹配!在實(shí)現(xiàn)和測(cè)試階段將這些圖表放在手邊,,以便發(fā)生上述偏差時(shí)這些圖表能及時(shí)得到更新,。將這些圖表留到日后更新永遠(yuǎn)不是正確的做法,。雖然我們總是有返回去更新或修復(fù)的良好愿望,但這永遠(yuǎn)不是合適的時(shí)機(jī),。
8 技巧8——保持注釋框使用的一致性
就像聽(tīng)起來(lái)一樣奇怪,,許多網(wǎng)絡(luò)爭(zhēng)論的內(nèi)容是何時(shí)、哪里使用何種類(lèi)型的注釋框!不過(guò)嚴(yán)肅地講,,不管你的信仰是什么,,歸根到底是一致性問(wèn)題。如果一個(gè)團(tuán)隊(duì)決定只使用類(lèi)型的注釋,,那么就只使用這種類(lèi)型,。如果決定使用//類(lèi)型,那就只使用//類(lèi)型,。作者個(gè)人的觀點(diǎn)是傾向于使用進(jìn)行函數(shù)和模塊級(jí)說(shuō)明,,使用//進(jìn)行函數(shù)代碼說(shuō)明。不管選擇是什么,,確保每次都按同樣的方式去做,,這樣有助于生活更加輕松。
9 技巧9——使注釋更容易閱讀(即格式的美化)
為了確保避免誤解并由此產(chǎn)生代碼缺陷,,使代碼保持結(jié)構(gòu)化和容易閱讀很重要,。注釋也一樣。偶爾結(jié)構(gòu)化的注釋會(huì)使眼睛很難捕捉注釋,,更難捕捉不在合適位置的內(nèi)容,。應(yīng)該對(duì)注釋進(jìn)行格式化處理,這樣如果代碼打印出來(lái)時(shí)(雖然現(xiàn)在不常打印,,但我偶然仍會(huì)打印代碼)注釋就不會(huì)分到好幾頁(yè)上去,。在大塊注釋(如文件頭或函數(shù)注釋)中,如果你使用塊指示器,,千萬(wàn)不要包含進(jìn)任何拖尾字符(如#或*),,要不只會(huì)使文檔更新變得更加困難。
10 技巧10——嵌入圖像和圖表
借助自動(dòng)化工具的使用,,在注釋文檔中包含編碼標(biāo)準(zhǔn),、縮寫(xiě)詞、項(xiàng)目細(xì)節(jié),、要求和大量其它條款就成了可能,。甚至能夠包含諸如流程圖等設(shè)計(jì)性圖表!使用這類(lèi)功能允許代碼庫(kù)不僅包含執(zhí)行代碼和邏輯,還包含你想要了解的項(xiàng)目所有內(nèi)容,,并且所有信息都放在同一個(gè)地方,。
企業(yè)級(jí)別: [VIP第1年] 指數(shù):2
聯(lián) 系 人:張生(先生)
公司電話: 13988888888
所在地區(qū):湖北
公司地址:勤學(xué)思教育網(wǎng)
網(wǎng)站首頁(yè) | 付款方式 | 關(guān)于我們 | 信息刪除 | 聯(lián)系方式 | 服務(wù)條款 | 版權(quán)隱私 | 網(wǎng)站地圖 | 專題 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 鄂ICP備14015623號(hào)-2
愛(ài)品網(wǎng)是一個(gè)開(kāi)放的平臺(tái),,信息全部為用戶自行注冊(cè)發(fā)布,!并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,需用戶自行承擔(dān)信息的真實(shí)性,,圖片及其他資源的版權(quán)責(zé)任! 本站不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任,。
如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)聯(lián)系: [email protected]
?2012-2021愛(ài)品網(wǎng) 免費(fèi)信息發(fā)布平臺(tái),,免費(fèi)推廣平臺(tái),免費(fèi)B2B網(wǎng)站愛(ài)品網(wǎng) 10dcg.com