Stuart的Matlab视频

观看并学习

十大MATLAB代码实践让我哭泣

我正在与应用程序支持工程师在MathWorks聊天,关于Matlab用户万博1manbetx可避免疼痛的编码实践。

没有进一步的ADO:十大和快速的方式,不做它们:

10.)不使用左手零

必须学习某些事情。我学会了一个令人沮丧的眼睛作为本科生。深入了解Matlab家庭作业的夜晚,将“需要十分钟,十五,如果你键入慢速。”(是的,P博士,13年后,我还记得那一个!-smile-)

它真的很容易误会.5为一个5.。这就是为什么我总是用左手零0.5

9.)绘制巨大的数据

我的电脑显示器具有230万像素,总计。如果我尝试在其中包含大量数据的数据集,它们通常只是看起来像一个斑点并减慢机器在过程中。

通常有更好的可视化可用。这是一个例子改变可视化使其更清晰,更少地征收内存。

8.)GUI与Garish颜色方案

努力强调他们的贵宾上的某些按钮,人们会改变它们的颜色。非常迅速,他们最终结束了几种不同的彩色按钮,非标准背景颜色,额外的大按钮等......

用默认颜色坚持是一个很好的举动。大多数专业生产的软件粘在默认值,最终看起来更好。

7.)使用ANS.,或任何其他MATLAB函数作为变量名称或函数。

当您这样做时,Matlab将呼叫路径上的任何一个更高。重新定义类似功能时,可能会发生一些奇怪的行为。不幸的是,Matlab在大多数情况下都不会抓住你这样做。

我试图避免使用像常见术语的变量和函数名称,意思筛选等......如果有任何疑问,请使用哪个命令查找函数是否存在给定名称。

6.)在代码中没有使用空格到良好的效果。

即使您可以在一行中放置几行命令,如果分号分隔,则这些行通常可能很难注意到。在代码部分之间不会将空行放在代码部分之间也可以使其更加难以读取。

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

5.)坏变量名称

变量名通常是唯一添加到人们代码中的注释。有意义的变量名称是一个很好的机会,使您的代码更加清晰,以某种程度为自我记录。

避免使用变量名称临时AAA.R247899921.。这些只是没有向那些必须阅读代码的人传达那样的信息旗帜偏移centroidx.fidcurrentfile.

4.)硬编码数据到MATLAB代码文件中

有些人喜欢将一些变量直接放入Matlab代码中。这是有道理的小的变量(我会让您定义对您的小手段)。例如,我会感到精细地将3×3矩阵放入我的代码中。我想三次约为10×10,我将开始使用我们的一个文件读取器100 x 100。

我看到这一点的最糟糕的例子是一些matlab代码,.m文件是4张gig(不是一个错误)。所有但少量的是在ASCII中写出的数据。这使您的代码难以阅读,维护和理解。

3.)特别长的文件

即使是没有硬编码数据到MATLAB代码文件中,它也很容易加上“只有几行代码”,直到您在单个脚本中有数以千计的代码。这使得您的代码很难理解。

一世尝试使用规则,我应该能够在一个屏幕中看到整个脚本或函数。这并不完全实用,因此我将至少将代码分解为同时在屏幕上拟合的逻辑部分。

2.)全局

我从未见过Matlab代码,全球是正确的事情。例外:功能TIC和TOC非常好地使用它们。我看到的大部分时间都被使用了它是代码作者不理解变量范围的情况的情况。他们刚刚成为全球性,而不是将变量传递给另一个功能。

为什么人们会谨慎使用全局变量?我会把它留给对维基百科的共识

1.)eval.

评估在那里与全局合作。MATLAB用户通常会将MATLAB命令串联用于定期变量名称S1S2S3....只需要使用另一个eval语句来使用顺序变量名称!通常,使用s {1},s {2},s {3}索引的小区数组将更好地工作。

我还会发现人们使用eval以在编写代码时不知道的结构(例如data.alpha)的某些字段。现在“.parens”表示法让这更容易。

当不需要时,看到人们使用emp的其他最常见的地方是当他们尝试加载文件或类似的其他功能时。通常,他们经常尝试评估像“加载filename.mat”这样的字符串,不意识到有功能表单,可以使用filenamestring ='filename.mat';载荷(Filenamamestring)

跟随@stuartmckarrity.在Twitter上收到新帖子。

|
  • 打印
  • 发电子邮件

评论

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。