排名前十的MATLAB代码实践让我哭泣

我聊天与应用支持工程师在MathWorks什么样的编码实践为MATLAB金宝app用户造成可避免的疼痛。

言归正传:排名前十的和快速的方法不做:

10)。不使用左手0

某些事情必须付出惨痛的代价。我学会了这一个睡眼朦胧的晚上为本科。到晚上在MATLAB作业,将“十分钟,15如果你输入缓慢。”(是的,P博士,13年后我依然记得那个!-微笑)

这很容易错误。5对于一个5。这就是为什么我总是喜欢用左手零0.5

9)。绘制大量的数据

我的电脑显示器有230万像素,总数。如果我试着阴谋与大量数据集的数据,他们会经常看起来就像一个blob和机器慢下来。

经常有一个更好的可视化。这是一个例子变化的可视化,使它对记忆更清晰和更少的税收。

8)。gui的配色方案

为了强调某些按钮GUI,人们会改变它们的颜色。很快他们最后几个不同颜色的按钮,一个非标准的背景颜色,额外的大按钮等等…

坚持默认颜色是一个不错的选择。大多数专业制作软件棍棒与违约,它最终看起来更好。

7)。使用,或任何其他MATLAB函数变量名或函数。

当你这样做时,MATLAB将调用哪个更高的道路上。一些奇怪的行为可能发生当你重新定义一个函数。不幸的是,MATLAB不抓住你这样做在很大程度上。

我尽量避免使用变量和函数名,常见的术语,的意思是,过滤器等等…如果有任何疑问,使用哪一个命令来找出一个函数是否存在给定的名称。

6)。在代码中不使用白色空间效果好。

尽管您可以将多个命令在一行如果由分号分隔,这些线往往很难注意到。不要把空白部分的代码之间的界限也很难读。

空白是免费的,用它来让代码看起来不错。

5)。坏的变量名

变量名称通常是唯一的评论,添加到人们的代码。有意义的变量名是一个伟大的机会,使您的代码的意思更清楚在某种程度上,自我记录。

避免使用变量名临时,aaa,r247899921。这些人不只是传达尽可能多的信息,阅读你的代码flagPassedInspection,centroidX,fidCurrentFile

4)。硬编码数据为MATLAB代码文件

有些人喜欢把他们的一些变量直接到MATLAB代码。这是有意义的变量(都会让我将你定义为你小是什么意思)。例如,我将感觉很好把一个3×3矩阵进我的代码。我会考虑一个10×10,我开始使用我们的文件的一个读者为100 x 100。

这是最糟糕的实例我见过一些MATLAB代码的m文件4 g(没有错误)长。除了少量的数据写入ASCII。这使代码难以阅读,保持和理解。

3)。特别长的文件

即使不是硬编码的数据到一个MATLAB代码文件,很容易就加上“只是几行代码”直到你有成千上万行代码在一个脚本。这使代码难以理解。

试一试使用规则,我应该能看到一个完整的脚本或函数在一个屏幕上。这并不完全是实用,所以我至少会把代码分成逻辑部分做适合屏幕。

2)。全局变量

我从来没有见过MATLAB代码全局是正确的做法。例外:功能TIC和TOC很好地使用它们。大部分时间我看到全局使用这是一个情况的代码作者不了解范围的变量。而不是通过变量从一个到另一个函数,他们只是全球。

为什么人们警告不要使用全局变量?我将离开的在维基百科上的共识

1)。Eval

EVAL和全局变量是正确的。MATLAB的用户往往会串MATLAB命令顺序变量名s1,s2,s3只…然后必须使用另一个EVAL语句来处理连续变量的名字!通常,一个细胞数组索引和s{1},{2},{3}…会工作得更好。

我也会发现人们使用EVAL来获得在特定领域的结构(例如data.alpha)当他们不知道在编写代码的时候现场他们会想要什么。现在,”。父母”符号使更容易。

最常见的其他地方看到人们使用EVAL时不需要的是当他们试图加载一个文件或其他一些功能。通常他们试图EVAL文件名字符串“负载。垫”,而没有认识到有一个函数形式,您可以使用fileNameString =“filename.mat”;加载(fileNameString)

遵循@stuartmcgarrity在推特上通知的新职位。

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。