matlab可扩展性,MATLAB的编码风格建议

我们编写代码的目的是什么?除了能实现某个算法、完成要求的逻辑业务外,其实还需要注意代码的可读性、可维护性、可扩展性等,唯有满足这些条件,我们的代码才可以称得上是合格的、优秀、优雅的代码。我们写的代码除了自己看,可能别人也需要看。其实,编码也是一门艺术,要想写出优雅漂亮的代码,需要我们平时的不断积累和学习。

那么今天我们聊一聊在编写MATLAB代码时,需要注意的编码风格,简单的建议,但比较实用。

1 代码的布局

1.1 缩进

虽然MATLAB代码对缩进没有要求,但这样会显得杂乱无章,代码没有层次感,MATLAB的IDE为我们提供了便捷的智能缩进,所以平时写完代码后,记得Ctrl+A, 再Ctrl+I

1.2 空格/Tab键

空格/Tab键对MATLAB是没有影响的,用好空格很重要,会增强代码的可读性。

A 推荐用空格的地方

(1) 常用的二元运算符 +, -, *, /, ^, .*, ./, .^;比较、逻辑运算符, <=, >=, ==, ~=, &&, ||;赋值运算符=以及类的继承符号

(2) 定义函数时,输入参数和输出参数之间建议加空格,如function [output1, output2] = myfunc(input1, input2)要比function [output1,output2]=myfunc(input1,input2)更好些

B 不推荐用空格的地方

以下地方不推荐出现空格:

(1) 紧挨着圆括号,方括号和花括号的地方,如[ x, y ],( x, y ), { x, y }是不推荐的。推荐[x, y], (x, y), {x, y}样式。

(2) 紧贴着函数调用的参数列表前开式括号的,如magic (5)应该写成magic(5)。

(3) 在赋值(或其它)运算符周围的用于和其它并排的一个以上的空格,如:

x = 1;

y = 2;

longvariable = 3;

写成

x = 1;

y = 2;

longvariable = 3;

1.3 行的最大长度

类似于函数中的行注释、函数体等,如果某一行很长,则导致换行折叠观看,很影响美观,而且还不利于阅读。MATLAB IDE中那条竖直的参考线可以帮助我们适当的续行,推荐长度限制在 75 个字节内 , ...咱们都懂得......

1.4 空行

空行的使用在平时应该也注意:

用两行分割顶层函数和子函数的定义(或者顶层类定义和局部函数的定义)。

在类定义的内部,成员方法之间用一个空行隔开。

在一个函数内使用空行时请注意谨慎使用于一个逻辑段

1.5 注释

注释非常重要,良好的注释不仅可以让别人更容易看懂你的代码,同时也对我们自己也是一种帮助,时间久了提供提示和回忆。

注释必须跟代码保持一致,当你想修改代码时,建议优先修改注释。

注释必须是完整的句子。

如果注释是一个句子或者短语,请首字母大写。

如果注释很短,建议省略句末的句号。

注释块通常由一个或多个由完整句子构成的段落组成, 每个句子应该以句号结尾。

注释请使用英文。

约定使用统一的文档化注释格式有助于良好的习惯和团队的进步。

单行注释%

多行注释%{ This is comment%}

分割注释%%

关于注释这块,我们可以参考系统自带的那些函数的作者是如何加注释的,方法是在脚本或者命令窗口中输入库函数名称,选中,然后Ctrl+D进行查看,比如我们查看svd这个函数是如何写注释的,演示如下:

1cd9e69ec9a7

1.gif

1.6 项目文件

一般建议一个项目一个文件夹,相同作用的算法放在一个文件夹中,里面再按模块分子文件夹,最好是层次分明。

2 命名约定

对于命名,只要符合MATLAB的标识符规定,随心所欲的命名对代码无任何影响,但是这样做就与我们开头所说的可读性相违背了。一个总原则是我们的命名能尽量做到望文知意。

2.1 命名风格

一般的命名风格大家都清楚,这里说几个特殊的注意点:

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

(2) 避免大幅度出现单个子母的命名,如a, b, c等,循环中可以(除了i或j)。

(3) 包名应该是不含下划线的, 简短的, 小写的名字。

(4) 几乎没有例外,类名总是使用首字母大写、驼峰命名单词串的约定,即UpperCamelCase风格。

(5) 函数名、方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,第一个词的首字母小写,后面每个词的首字母大写。

(6) 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚。

(7) 抽象类命名使用Abstract或Base开头;测试类命名以它要测试的类的名称开始,以Test结尾。

(8) 避免生僻的缩写,在命名时尽量使用完整单词组合来表达其意。

(9) 如果是形容能力的接口名称,取对应的形容词为接口名(通常是–able的形式)。如AbstractTranslator实现Translatable接口。

(10) 枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。

(11) 对于表达逻辑的变量,可加上is或者has的前缀,如hasNoiseMap = true等

(12) 函数名应该为小写、动宾短语, 可能用下划线风格单词以增加可读性。

以上就是今天分享的内容了,有什么问题请朋友留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值