matlab编程风格
生活随笔
收集整理的這篇文章主要介紹了
matlab编程风格
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
matlab編程風(fēng)格
參考博客:https://blog.csdn.net/yuandm819/article/details/52453674?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242
1、命名
變量
-
單變量名用小寫英文,復(fù)合變量名用小寫英文加下劃線的組合或者小寫英文加首字母大小開頭qualityofLife
-
前綴n可以用來表明是數(shù)字對象,一般類似nSegments,用于表明循環(huán)的循環(huán)總次數(shù)等
-
前綴i可以用來表明循環(huán)變量
- for iFile = 1:nFilesfor jSegment = 1:nSegments...end end
-
前綴m可以用來表明行數(shù),例如mRows
-
重要變量需要在語句后面添加注釋
常數(shù)
- 用全部大寫字母加下劃線組合
- 如果屬于某些類,可以指明,COLOR_GREEN
函數(shù)
- 小寫字母
- 函數(shù)名需要具有可讀性,盡量少縮寫,函數(shù)名應(yīng)說明函數(shù)輸出的意義
- 如果沒有輸出,則應(yīng)說明函數(shù)的具體功能
- 前綴get/set應(yīng)該暗指訪問對象或者設(shè)置屬性
- 前綴compute應(yīng)該暗指計算某個量,過程比較復(fù)雜
- 前綴find可以用在那些具有查詢功能的函數(shù)的地方 ,包含少量的計算
- 前綴initialize可以用在對象或者概念初始化的地方
- 前綴is用在表示判斷的地方
- 補(bǔ)足型用在某種彌補(bǔ)操作的地方, 示例: get/set,add/remove,create/destroy,start/stop,insert/delete,increment/decrement
old/new,begin/end,first/last,up/down,min/max,next/previous,open/close ,show/hide,suspend/resume,等
常規(guī)變量可以添加一些說明,比如說明變量的單位等等,所有的變量都用英文編寫,便于交流
2、文件與程序結(jié)構(gòu)
M文件
- 模塊化,采用函數(shù)的形式,超過兩屏幕的代碼都應(yīng)該嘗試著封裝進(jìn)行模塊化,將代碼進(jìn)行分割,使得整個代碼更具有交互性
- 搜索,找尋現(xiàn)有的函數(shù),比自己編其實更省事以及更有正確性
- 子函數(shù),若該子函數(shù)只用一次,那么最好跟用它的那個函數(shù)寫在一個文件里面(個人認(rèn)為這個對于小項目來說,基本上不適用)
- 測試腳本,為每個函數(shù)都編寫一個
輸入輸出
- 人工閱讀,最好格式化輸出,使得可讀性增加
- 計算機(jī)調(diào)用,則寫成便于調(diào)用的形式
3、基本語句
循環(huán)語句
- 循環(huán)變量在開始前進(jìn)行賦值,可以賦值為零向量,防止后面沒有循環(huán)完所有的索引產(chǎn)生虛假值
- 嵌套循環(huán)里面,在end語句后面加上注釋,說明完成了哪些功能
條件語句
- 避免復(fù)雜的條件表達(dá)式,應(yīng)該用臨時變量替代
- switch語句中需要有otherwise條件
- switch變量通常是字符串
- 表達(dá)式中少用數(shù)字,用變量進(jìn)行替代更容易理解和后期更改
4、排版、注釋
排版
- 代碼內(nèi)容應(yīng)該保持在80列以內(nèi),其他的就用 … 連接符分開
- 一行代碼只包含一個可執(zhí)行語句
- 在=, &, | 前后加上空格,逗號后面加一個空格(這部分按照Python的就比較合適)
注釋
- 注釋的目的是為了加強(qiáng)可讀性,而不是為了打補(bǔ)丁
- 函數(shù)頭部的注釋應(yīng)該支持help和lookfor 查詢
- 函數(shù)的注釋需要說明代碼的局限性,也就是適用范圍
文檔
- 規(guī)范化:說明代碼的目的,設(shè)計思路,依賴什么樣的環(huán)境和如何調(diào)用等
- 開發(fā)代碼之前應(yīng)該先開發(fā)文檔
- 記錄好修改的內(nèi)容,每一步修改的日期等等
總結(jié)
以上是生活随笔為你收集整理的matlab编程风格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搭建Keras,TensorFlow运行
- 下一篇: ubantu14.04下固定ip的配置方