MATLAB高手如何编程一门编程语言,语法当然是基础,但是还远远不够,一定要在理解语法的基础上,遵守一定的规则,养成好的编程习惯。 一个MATLAB高手不一定非得背过多少函数,不一定非得编写过多少行代码,但一定有三个特征:
结构清晰就是思路清晰,命名一目了然,注释一目了然,功能一止了然,即使隔了很久再看自己的程序,也能马上想起当时的思路;
在什么情况下,如何编写代码,已经形成一个规则;这个规则可以和别人不同,但一定要易记易用,并且坚持遵守,拿出代码前后要统一,不要把自己都搞糊涂;
这一条与许多其它语言有些不同,MATLAB的矩阵化编程,有时会让程序简洁得难以置信,而这也是使用M语言编程一定要努力追求的。 仅凭代码的形式就能看出一个人的水平 本节内容在教材/课程中,非常少见,却很重要,所以本节会尽量多举一些实际的例子,让大家能直观体会和记忆。 如何命名变量那些把变量直接命名成a b c d的习惯,会把程序带入混乱,下面4条,请认真体会:
如 cityLocationrobotPosition 下角标用下划线表示,如: location_a1date_2
不要写出 chengshiWeizhi 这样的变量!体会一下区别: cityLocation
举例,上面的 cityLocation 一看就用于比较大的意义范围,如果只在几行代码中有效,之后就不会再用到了,可以简写: cityLoc 甚至 loc
如: maxGrade 最大成绩值minCost 最小的花费numStreet 街号sumCost 消费的和arrayLine 用于存储直线的数组matrixPoint 用于存储点位置的矩阵iFiles 代替for循环中的i的有“意义”的变量jPosition 意义同上 常量命名规则在编程中,有许多常量的存在,常量就是那些''有特殊意义的''“不变化”的恒量。比如: 编写一个作图程序,画中国的五星红旗,那么两种颜色就可以在程序开始声明定义为:红色和黄色。那么,每次用到这两个颜色时,就不需要写出它们的颜色向量,而是直接引用红色和黄色。 好处是:
常量的命名规则: 全大写,以下划线分割单词,如: COLOR_RED COLOR_YELLOW 函数和脚本如何命名?
这一点非常重要,不想自己陷入混乱的话,最好这样做。
如,要写成: computetotalwidth() 不要简写成: compwid()
对于函数,根据功能要加上前缀,如: computeLocation 计算功能getChar 取值功能setPosition 设置功能findKeyPoint 寻找功能initializeMessageMatrix 初始化功能isColorExist 判断条件真假功能 如果没有明确意义,最好能在函数名称前加一个func,如 funcMeaningless 明确这是函数 对于脚本,没有明确意义时,前缀用: scriptJustPackage 明确这是脚本 M文件编写习惯
编程最重要的思想之一,就是模块化,化大为小,化繁为简。如何做到呢? 首选使用函数,函数是最佳的打包代码的方式;次选脚本,因为脚本代码不擅长于重复使用。 模块化!再复杂的程序也能写出来
有过编程经验的同学一点便知,当一个函数有许多许多的输入参数时,怎么办?难道括号里跟着一大堆参数? 把要输入的参数存入一个结构体,作为函数输入参数,一下子变得清晰得不得了。 |
|