MATLAB的編碼風格建議

我們編寫代碼的目的是什么?除了能實現(xiàn)某個算法、完成要求的邏輯業(yè)務(wù)外,其實還需要注意代碼的可讀性、可維護性、可擴展性等,唯有滿足這些條件,我們的代碼才可以稱得上是合格的、優(yōu)秀、優(yōu)雅的代碼。我們寫的代碼除了自己看,可能別人也需要看。其實,編碼也是一門藝術(shù),要想寫出優(yōu)雅漂亮的代碼,需要我們平時的不斷積累和學習。

那么今天我們聊一聊在編寫MATLAB代碼時,需要注意的編碼風格,簡單的建議,但比較實用。

1 代碼的布局

1.1 縮進

雖然MATLAB代碼對縮進沒有要求,但這樣會顯得雜亂無章,代碼沒有層次感,MATLAB的IDE為我們提供了便捷的智能縮進,所以平時寫完代碼后,記得Ctrl+A, 再Ctrl+I

1.2 空格/Tab鍵

空格/Tab鍵對MATLAB是沒有影響的,用好空格很重要,會增強代碼的可讀性。

A 推薦用空格的地方

(1) 常用的二元運算符 +, -, *, /, ^, .*, ./, .^;比較、邏輯運算符<, >, <=, >=, ==, ~=, &&, ||;賦值運算符=以及類的繼承符號<等,在這些運算符的前后都加上一個空格,如a = b + c * d;要比a=b+c*d;更好些。

(2) 定義函數(shù)時,輸入?yún)?shù)和輸出參數(shù)之間建議加空格,如function [output1, output2] = myfunc(input1, input2)要比function [output1,output2]=myfunc(input1,input2)更好些

B 不推薦用空格的地方

以下地方不推薦出現(xiàn)空格:

(1) 緊挨著圓括號,方括號和花括號的地方,如[ x, y ],( x, y ), { x, y }是不推薦的。推薦[x, y], (x, y), {x, y}樣式。

(2) 緊貼著函數(shù)調(diào)用的參數(shù)列表前開式括號的,如magic (5)應該寫成magic(5)。

(3) 在賦值(或其它)運算符周圍的用于和其它并排的一個以上的空格,如:

x                   = 1;
y                   = 2;
longvariable = 3;

寫成

x = 1;
y = 2;
longvariable = 3;

1.3 行的最大長度

類似于函數(shù)中的行注釋、函數(shù)體等,如果某一行很長,則導致?lián)Q行折疊觀看,很影響美觀,而且還不利于閱讀。MATLAB IDE中那條豎直的參考線可以幫助我們適當?shù)睦m(xù)行,推薦長度限制在 75 個字節(jié)內(nèi) , ...咱們都懂得......

1.4 空行

空行的使用在平時應該也注意:

兩行分割頂層函數(shù)和子函數(shù)的定義(或者頂層類定義和局部函數(shù)的定義)。

在類定義的內(nèi)部,成員方法之間用一個空行隔開。

在一個函數(shù)內(nèi)使用空行時請注意謹慎使用于一個邏輯段

1.5 注釋

注釋非常重要,良好的注釋不僅可以讓別人更容易看懂你的代碼,同時也對我們自己也是一種幫助,時間久了提供提示和回憶。

注釋必須跟代碼保持一致,當你想修改代碼時,建議優(yōu)先修改注釋。

注釋必須是完整的句子。

如果注釋是一個句子或者短語,請首字母大寫。

如果注釋很短,建議省略句末的句號。

注釋塊通常由一個或多個由完整句子構(gòu)成的段落組成, 每個句子應該以句號結(jié)尾。

注釋請使用英文。

約定使用統(tǒng)一的文檔化注釋格式有助于良好的習慣和團隊的進步。

單行注釋%

多行注釋%{ This is comment%}

分割注釋%%

關(guān)于注釋這塊,我們可以參考系統(tǒng)自帶的那些函數(shù)的作者是如何加注釋的,方法是在腳本或者命令窗口中輸入庫函數(shù)名稱,選中,然后Ctrl+D進行查看,比如我們查看svd這個函數(shù)是如何寫注釋的,演示如下:

1.gif

1.6 項目文件

一般建議一個項目一個文件夾,相同作用的算法放在一個文件夾中,里面再按模塊分子文件夾,最好是層次分明。

2 命名約定

對于命名,只要符合MATLAB的標識符規(guī)定,隨心所欲的命名對代碼無任何影響,但是這樣做就與我們開頭所說的可讀性相違背了。一個總原則是我們的命名能盡量做到望文知意

2.1 命名風格

一般的命名風格大家都清楚,這里說幾個特殊的注意點:

(1) 代碼中的命名不要使用拼音與英文混合的方式。

(2) 避免大幅度出現(xiàn)單個子母的命名,如a, b, c等,循環(huán)中可以(除了i或j)。

(3) 包名應該是不含下劃線的, 簡短的, 小寫的名字。

(4) 幾乎沒有例外,類名總是使用首字母大寫、駝峰命名單詞串的約定,即UpperCamelCase風格。

(5) 函數(shù)名、方法名、參數(shù)名、成員變量、局部變量都統(tǒng)一使用lowerCamelCase風格,第一個詞的首字母小寫,后面每個詞的首字母大寫。

(6) 常量命名全部大寫,單詞間用下劃線隔開,力求語義表達完整清楚。

(7) 抽象類命名使用Abstract或Base開頭;測試類命名以它要測試的類的名稱開始,以Test結(jié)尾。

(8) 避免生僻的縮寫,在命名時盡量使用完整單詞組合來表達其意。

(9) 如果是形容能力的接口名稱,取對應的形容詞為接口名(通常是–able的形式)。如AbstractTranslator實現(xiàn)Translatable接口。

(10) 枚舉類名建議帶上Enum后綴,枚舉成員名稱需要全大寫,單詞間用下劃線隔開。

(11) 對于表達邏輯的變量,可加上is或者has的前綴,如hasNoiseMap = true

(12) 函數(shù)名應該為小寫、動賓短語, 可能用下劃線風格單詞以增加可讀性。

以上就是今天分享的內(nèi)容了,有什么問題請朋友留言。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫作本文旨在加深自己印象,也為了更多人的了解到JS編碼風格,提高自己的編碼質(zhì)量想了解更多的內(nèi)容請閱讀《編寫可維護的...
    小賢筆記閱讀 441評論 0 2
  • 首次發(fā)表在個人博客 前言 程序語言的編碼風格指南對于一個長期維護的軟件而言是非常重要的;好的編程風格有助于寫出質(zhì)量...
    IOneStar閱讀 405評論 0 1
  • 1、縮進 4個空格,避免用tab 2、行的長度 每行不超過80個字符,下一行增加兩級縮進(8個字符) 3、原始值 ...
    琦樂芳兒閱讀 297評論 0 0
  • 如何編寫出優(yōu)秀的代碼? 在開發(fā)過程中,我們不僅要去看別人的代碼,也要讓別人看我們的代碼。那么,有一個良好的編碼習慣...
    BrainYork閱讀 443評論 0 4
  • 轉(zhuǎn)載自:CocoaChina Objective-C 是 C 語言的擴展,增加了動態(tài)類型和面對對象的特性。它被設(shè)計...
    喜歡就可以閱讀 465評論 0 0

友情鏈接更多精彩內(nèi)容