matlab 規范,matlab-代碼-規范

41528d3028836879cd698677c3999917.gifmatlab-代碼-規范

1. 標識符命名原則 標識符的名字應當直觀,其長度應當符合“最小長度,最大信息量”原則。 1) 非矩陣變量: ? 變量名應該以小寫字母開頭的大小寫混合形式 譬如:shadowFadingTable,servingSector, rxBufferForRe userID,userPriorityProfile,mcsOneRetri等 ? 循環變量應該以i、j、k等為前綴,如 for i_File = 1:nFiles for j_Position = 1:nPositions ? 避免僅用最后的字母s(表示單復數)區別兩個變量, 例如point和points. 可以用類似pointArray的形式加以區別。 ? 避免使用一個關鍵字或者特殊意義的字作為變量名 ? 結構體的命名應該以一個大寫字母開頭,結構體的命名應該是暗示性的,并且不需要包括字段名(fieldname)應采用Segment.length,避免用Segment.SegmentLength 2) 常數: ? 命名常數(包括全局變量)應該采用大寫字母,用下劃線分割單詞,如MAX_ITERATIONS,COLOR_RED ? 參數可以以某些通用類型名作為前綴,如COLOR_RED,COLOR_GREEN 3) 草稿變量,含矩陣,結構體,元胞: ? 應用范圍比較大的變量應該具有有意義的變量名,作為“草稿變量”的的臨時存儲空間或者索引可以用短名字。程序員在讀到這樣的變量的時候,可以假定這個變量的值在沒有幾行之后的代碼中就不會再用到。通常的“草稿變量”整數的時候用i,j,k,m,n(最好少用i,j,因為他們作為MATLAB中的永久性常量表示虛數單位的)。雙精度數的時候常用x,y和z。m表示矩陣,沒有m表示標量 ? 命名上將cell, struct與MATLAB中最常見的numeric array, 即數值矩陣區分開來. ? n用于整數變量, 如n_File. ? m用于一般的矩陣,如matrix_channelHFResponse; ? c用于cell array, 如cell_temp= cell(1, 4); ? s用于struct array, 如stuct_user= struct( field , {}); ? matrix,cell,stuct后面的channelHFResponse, user用來表示有特定含義的中間變量,比如matrix_channelHFResponse,用來表示計算channelHFResponse時中間變量。 4) 函數: ? 函數名應該采用小寫字母,函數名應該是具有意義的,下劃線分割單詞 如采用: compute_total_width()避免compwid() ? 前綴get/set 應該作為訪問對象或者屬性的保留前綴,如getobj(.)。 ? 前綴compute應該用在計算某些量的函數的地方computespread()。 ? 前綴 is應該用在布爾函數的命名的地方,如 iscomplete()。 ? Find,initialize類似。 2. 編碼及文檔注釋要求及實例 2.1 代碼版式 2.1.1 M文件函數說明 function [ 函數輸出參數] = 函數名( 函數輸入 ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %此處為函數名,如果不是函數文件就取消此行 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %創建人: %日 期: %修改人: %日 期: %函數變量及功能的簡單描述 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --函數主體 2.1.2 編碼設計 本部分說明了M文件編碼的設計,包括以下幾個方面: 垂直間隔,水平間隔,縮進與對齊,注釋。 2.1.2.1 垂直間隔 1、空行 空行起著分割塊或段落的作用,塊(段落)之間一般留一個或兩個空行。 空行使用規則: ? 邏輯塊之間要留空行; ? 結構體定義之間要留空行; ? 函數定義體之間要留空行; ? 函數體內,完整的控制結構和單獨的語句塊之間要留空行; ? 邏輯上密切相關的語句序列之間不要留空行; 2、換行注意事項 ? 不在一行使用多個語句。唯一的例外是for語句。For語句的初始化,條件和循環都可以在一行中。例如 for (bcnl_num = 0; bcnl_num count) bcnl_num = count; ? {}與case總是獨占一行。 2.1.2.2 水平間隔 ? 逗號后面要有空格,但是不要在結構的成員與指針操作符前后有空格。例如: foo.index ? 在 =, } 2.1.2.4 代碼行及行內空格 (1) 代碼行中不運行出現中文。 (2) 關鍵字后要留空格。像const、inline、case等關鍵字后要留空格,以辨析關鍵字;像if、for、do、while、switch等關鍵字后要留空格再跟左括號“(”,以突出關鍵字。 (3) “(”若不在一行的開始,應與前面的字符空格。例如,if、while、do-while、switch、for語句等控制結

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275606.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275606.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275606.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

zoom視頻會議官網_人性化視頻會議的空間(Zoom等)

zoom視頻會議官網第二部分:房間的創造力 (Part Two: The Creativity of Rooms) In Part One I shared thoughts on how virtual spaces can often leave little room to embody our most human selves. The lack of a public sphere that parallels our shared publ…

KOFLive Postmortem

為期兩個月的團隊項目完成了,我們的游戲也已經發布。在這個名叫KOFLive的小游戲里,我們集成了五個真人角色,每個角色有拳腳基本招數以及三個小招、一個大招,硬值、防御、集氣、雙人對戰、人機對戰、練習模式等格斗游戲的Feature基…

單調隊列優化多重背包

就是按照 % 體積的余數來分組&#xff0c;每組單調隊列優化。 直接上模板好了。 1 #include <bits/stdc.h>2 3 typedef long long LL;4 const int N 100010;5 6 int n, V, cnt[N], cost[N];7 LL f[2][N], val[N], p[N], top, head;8 9 inline void Max(LL &a, const…

2021年7月 蝦皮、貨拉拉、有贊等面經總結

大家好&#xff0c;我是若川&#xff0c;加我微信 ruochuan12 進源碼交流群。今天分享一篇7月份新鮮出爐的面經&#xff0c;文章較長&#xff0c;可以收藏再看。學習源碼系列、面試、年度總結、JS基礎系列。本文來自作者幾米陽光 投稿 原文鏈接&#xff1a;https://juejin.cn/p…

Oracle對表名大小寫敏感嗎,讓Oracle 大小寫敏感 表名 字段名 對像名

一、解決方案1、在表名、字段名、對象名上加上雙引號&#xff0c;即可實現讓oracle大小寫區分。2、但是這又引起了另一個問題&#xff1a;在數據庫操作中&#xff0c;sql語句中相應的表名、字段名、對象名上一定要加雙引號。解決辦法是&#xff1a;使用"\"轉義。如&a…

谷歌抽屜_Google(最終)會殺死導航抽屜嗎?

谷歌抽屜A couple of months ago Google has celebrated with enthusiasm 15 years of Google Maps, one of the most used and appreciated services worldwide from the company.幾個月前&#xff0c;Google熱情地慶祝Google Maps誕生15周年&#xff0c;這是該公司在全球范圍…

MySQL——安裝

MySQL——安裝 1. 下載源&#xff1a; http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql80-community-release-el7-2.noarch.rpm 該源目前為8.0版本&#xff0c;如果需要最新請退至根目錄找。 1wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_…

寫給初中級前端的高級進階指南等

大家好&#xff0c;我是若川。話不多說&#xff0c;這一次花了幾小時精心為大家挑選了20余篇好文&#xff0c;供大家閱讀學習。本文閱讀技巧&#xff0c;先粗看標題&#xff0c;感興趣可以都關注一波&#xff0c;絕對不虧。程序員成長指北考拉妹子&#xff0c;一個有趣的且樂于…

oracle for函數,oracle分區表述的FOR語句(一)

指定一個分區除了使用分區名稱外&#xff0c;很多時候還可以使用FOR語句。從11g開始&#xff0c;對分區進行操作的時候&#xff0c;不僅可以使用分區名稱&#xff0c;還可以使用FOR語句。在10g中&#xff0c;MERGE RANGE分區的語句如下&#xff1a;SQL> SELECT * FROM V$VER…

axure9控件樹 rp_如何在Axure RP 9中創建分段控件

axure9控件樹 rpSegmented controls are not very easy to tackle in prototyping. This is especially true when you have more than 2 segments. This article will show you how to create a segmented control with 3 segments in Axure in just 2 simple steps. The tech…

stack

1. 棧數據結構簡單介紹 2. 簡單實現代碼及stl中stack簡單使用 3. 代碼下載 1. 棧數據結構簡單介紹 棧是這樣的一種數據結構&#xff0c;遵循“先進后出”的原則。在stack上定義如下的operations&#xff1a; 1. 判空 2. 入棧push 3. 出棧pop&#xff0c;在棧的不同實現版本中&…

MacOS搭建環境

基礎環境 從AppStore下載 有道云筆記微信網易云音樂Chrome瀏覽器postmanChrome插件云筆記剪報基礎命令 mac下別名vi ~/.bash_profile 添加 alias llls -alF alias lals -A alias lls -CF 保存后執行(不能有空格) source ~/.bash_profile復制代碼開發環境 PhpStorm 從官網下載Ph…

【送書-小姐姐配音】低代碼平臺的核心價值與優勢

大家好&#xff0c;我是若川。記得點上方聽小姐姐配音&#xff0c;識別下方二維碼加我微信 ruochuan12&#xff0c;明天&#xff08;8月8日&#xff09;晚8點在朋友圈發動態。點贊抽3位小伙伴包郵送《實戰低代碼》&#xff0c;細則見動態。最近組織了源碼共讀活動&#xff0c;每…

oracle靜默安裝集群,靜默安裝Oracle數據庫10g篇

靜默安裝Oracle數據庫10g篇以下是在Linux系統上靜默安裝Oracle數據庫10g的實踐過程&#xff0c;主要分為以下兩個步驟&#xff1a;Step 1&#xff0e;靜默安裝Oracle數據庫10g軟件1. 使用OUI錄制響應文件&#xff0c;記錄安裝過程執行以下命令&#xff0c;然后在OUI中根據提示執…

sketch鋼筆工具_設計工具(Sketch,Adobe XD,Figma和InVision Studio)中奇怪的一項功能

sketch鋼筆工具When you build a new product that is very similar to the existing products in the market, the designers and product managers tend to do certain features different from others. Sometimes this brings a good change, sometimes worse.當您構建與市場…

modprobe:FATAL: could not load /lib/modules/2.6.35-22-generic/modules.dep No such file or directory

給ubuntu升級到10.10 &#xff0c;開機可能出現錯誤modprobe:FATAL: could not load /lib/modules/2.6.35-22-generic/modules.dep No such file or directorymodprobe:FATAL: could not load /lib/modules/2.6.35-22-generic/modules.dep No such file or directory解決辦法&a…

Python進階:如何將字符串常量轉化為變量?

2019獨角獸企業重金招聘Python工程師標準>>> 前幾天&#xff0c;我們Python貓交流學習群 里的 M 同學提了個問題。這個問題挺有意思&#xff0c;經初次討論&#xff0c;我們認為它無解。 然而&#xff0c;我認為它很有價值&#xff0c;應該繼續思考怎么解決&#xf…

怎么在matlab中圖像中外接矩形,Matlab 最小外接矩形

Matlab 中并沒有發現最小外接矩形的代碼&#xff0c;為了方便下面提供最小外接矩形的代碼&#xff1a;注&#xff1a;這個函數是源于網上找到的代碼的改進版&#xff0c;原版不能檢測水平線或者垂直線function [rectx,recty,area,perimeter] minboundrect(x,y,metric)% minbou…

尤雨溪開發的 vue-devtools 如何安裝,為何打開文件的功能鮮有人知?

1. 前言大家好&#xff0c;我是若川。最近組織了一次源碼共讀活動。每周讀 200 行左右的源碼。很多第一次讀源碼的小伙伴都感覺很有收獲&#xff0c;感興趣可以加我微信 ruochuan12&#xff0c;拉你進群學習。第一周讀的是&#xff1a;據說 99% 的人不知道 vue-devtools 還能直…

sketch浮動布局_使用智能布局和調整大小在Sketch中創建更好的可重用符號

sketch浮動布局Sketch is a widely used tool for UI designs. It implemented the Sketch是用于UI設計的廣泛使用的工具。 它實施了 atomic design methodology and made the workflow of UI design much more efficient. You can create a Symbol in Sketch and use it ever…