MATLAB 编程风格指南

本文档是MATLAB编程风格指南,强调代码的正确性、清晰性和通用性,涵盖命名规则、文件结构、语句使用、布局、注释和文档等方面,旨在帮助程序员写出更易读、可维护的代码。指南建议使用小写字母开头的驼峰命名法,避免使用保留字或特殊意义的字作为变量名,并提倡良好的文件和函数组织结构。同时,提倡使用有意义的变量名,避免过度使用全局变量,以及在循环和条件语句中保持清晰性。
摘要由CSDN通过智能技术生成
 MATLAB 编程风格指南
    ——Richard  Johnson
Version 1.5,Oct.  2002
版权; Datatool 所有
翻译:Genial @ USTC

“Language is like a cracked kettle on which we beat tuned to dance to, while all the time we long to move the stars to pity.”
        - Gustave Flaubert, in Madame Bovary
                                                                     

目 录:
一、简介
二、命名规则
  1、变  量
  2、常  数
  3、结构体
  4、函  数
  5、概  要(General)
三、文件与结构
  1、M文件
  2、输入输出
四、语句(Statements)
  1、变 量
  2、循环语句
  3、条件语句
  4、小结
五、布局、注释与文档
  1、布局
  2、空白空间(White Space)
  3、注释
  4、文档
六、参考文献


一、简介
    有关MATLAB代码的建议通常强调的是效率,譬如说有关“不要用循环”等的建议,本指南与之不同。本指南主要考虑的是代码(格式)的正确性、清晰性与通用性。本指南的目的在于帮助写出更可能正确、易于理解、更具有共享性与更利于维护的代码。正如Brian Kernighan 写道:“Well-written programs are better than badly-written ones--they have fewer errors and are easier to debug and to modify――so it is important to think about style from the beginning.”(良好的写作规范的程序比糟糕的写作规范的要好,因为他们具有较少的错误、易于调试与修改,因此,从一开始就考虑风格是很重要的)。
    本指南列举的MATLAB代码编写的建议在软件开发小组实际工作中得到一致性的认可。本指南与C、C++与Java的同类手册在整体上是相似的,但是针对MATLAB的特征与历史进行了修正。指南中的建议是基于多种其他代码语言的指南与个人经验而来的。指南主要是针对MATLAB而写的,但是它对于相近的语言,如Octave、Scilab和O-Matrix等的编程也有所帮助。
    指南不是戒律,其目的在于简洁易懂地帮助程序员写出好的代码。许多组织有理由偏离这个目的。
 
“You got to know the rules before you can break 'em. Otherwise it's no fun.”
                                      ――Sonny Crockett in Miami Vice

    MATLAB是MathWorks公司的注册商标,在本指南中,缩写TMW指The Mathworks公司。
    本著作献给那些致力于仔细提高进步的人们。


二、命名规则
Pathrick Raume:“A  rose by any other name confues the issue。”(?玫瑰如果以其他名字则会导致事情的混乱)
    一个开发团体建立一个命名规则可能会成为一个可笑的争议性问题。本节描述了一个常用的规则。它对于单个的程序员理解命名规则特别有用。

1、变量
变量的名字应该能够反应他们的意义或者用途。
 
(1)变量名应该以小写字母开头的大小写混合形式,譬如:linearity ,credibleThreat,qualityofLife等。这在C++开发团体中是普遍实用的。TMW有时候以大写字母开头命名一个变量名,但是这种用法在其他的语言中通常作为类型或者结果的保留用法。
 
(2)分割复合变量名的各个部分中间通常有两种做法,前面例子的这种(以大写字母分割)是其中的一种,虽然可读性比较好,但是在其他语言变量名中并不很常用。另外一种考虑的方法是在变量名中采用下划线,但是下划线在MATLAB的Tex 解释程序中会将其 翻译为下标转换符。

(3)应用范围比较大的变量应该具有有意义的变量名,小范围应用的变量应该用短的变量名。

    实际上,大多数变量都应该具有有意义的变量名,短变量名通常作为结构申明时候必须阐明意义的情况下的变量的保留用法。当然,作为“草稿变量”的的临时存储空间或者索引可以用短名字。程序员在读到这样的变量的时候,可以假定这个变量的值在没有几行之后的代码中就不会再用到。通常的“草稿变量”整数的时候用i,j,k,m,n(不过我认为最好少用i,j,因为他们作为MATLAB中的永久性常量表示虚数单位的。译者注),双精度数的时候常用x,y和z。

(4)前缀n应该用在作为数值对象的申明的时候,这一符号来自于数学,在数学中这被作为标明数值对象的建立规则。例如: nFiles,nSegments。
 
    MATLAB一个附加的特别之处在于用m来表明行数(来源于matrix 符号),例如变量名: mRows。
 
(5)应该遵循的一个有关复数(pluralization)变量的惯例。此处的复数应该是指包含多个个体的变量,相对于单数(singular)而言。

一个实用的建议是将所有变量名要么为单数形式,要么为复数形式。两个变量只是最后相差一个字母s加以区别的情况应该避免。一个可以接收的选择是对于复数利用后缀Array。例如:point, pointArray    (前者为单数,后者为复数)
 
(6)只代表单个实体数据的变量可以加以后缀No或者是前缀i。符号No来自于数学在表明实体数据的时候的建立规则。例如:
     tableNo,empolyeeNo
    
(7)前缀i使得变量命令可以循环进行。例如变量名:iTable,iEmployee

(8)循环变量应该以i、j、k等为前缀
该符号来源于数学在表明一个循环的时候的变量建立规则。例如:
for  iFile = 1:nFiles
      …
end
注意:当应用中有复数数据的时候,应该禁用i、j,因为他们都是作为虚数单位使用。

(9)对于嵌套循环,循环变量应该以字母表的顺序。
对于嵌套循环,循环变量应该命名为有帮助意思的变量名。例如:
for  iFile = 1:nFiles
 for  jPosition = 1:nPositions
        …
 end
end

(10)否定式的布尔变量命名是应该避免的
当采用否定式的布尔变量命名法时,如果采用逻辑运算取非的操作符号对变量进行链接运算的时候,将出现双重否定的情况。例如,用~isNotFound 没有采用 isFound直观。因此避免使用 类似于 isNotFound 这样的变量名。

(11)缩写形式,即使是通常的大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值