MATLAB进行程序设计如何省时高效少出错

同:https://zhuanlan.zhihu.com/p/639245203
利用MATLAB进行科研程序设计的注意点
最近利用MATLAB脚本进行了机器人相关程序的编写,因为这个经验不足,走了比较多的弯路
刚开始有了思路就埋头猛写代码,写着写着觉得差不多了,凭感觉编个函数,结果写完之后一运行结果错了!!!
然后回头一看
变量命名很乱很随意,不知道这个变量是干什么的?
中间过程中比较重要的变量没有进行保存,函数的输出是一些不重要的变量
想要测试一下某个变量和预期符不符合,再拿出来单独写测试函数
好不容易发现了某个功能的错误,修改了这个错误,结果发现还有别的地方也使用了类似的功能也错误了
试探性的修改程序的错误,修改了其中一处,结果错误,然后又开始修改另一处导致最后也不知道是哪出错了
有一些感悟或者是技巧现在记录下来,希望以后可以提高编写程序的效率,减少出错的概率。
以后也会分享机器人相关方面知识,欢迎关注 Winter
前期思路
最开始的时候要构建好程序的大纲,这个是最为重要的,花的时间再多也不为过,可以用一些思维导图工具辅助
程序分几个
首先大题构建一下这个程序要干什么?想清楚之后大概考虑一下这个矩阵的运算量,对于我来说就是有一个矩阵求逆,这个矩阵求逆是比较花费时间的,所以我进行了第1个判断
这个程序并不是一个,分为两个大的程序,前一段要保存运算量大的结果,后一段再继续进行
好处:因为跑那一段是相当花费时间的,如果因为操作不小心,要中断一下程序或者说不小心崩溃了,那又要重新计算,只要保存了这个结果的话,我们后续的那一段会相当快
结果:我现在明确了程序的两个部分,第1部分花费时间得出最重要的结果,第2部分只要对结果进行一些画图处理就行
调用函数设计
有了程序就必须要确定调用的函数,函数的划分要注意以下几个点
1.考虑功能划分:对于如何划分函数?其中的一个因素就是根据功能来划分,要想清楚程序过程中功能复用性比较高的部分,把这一部分包装成函数
好处1:程序易于阅读,这肯定不必多讲
好处2:一旦你发现这个函数有任何的错误,你只需要修改这个函数,如果你有一个类似的功能,但被你划分成两个函数,那你一旦这个功能出现错误,你两个函数都要改,有时候你会出现,只修改一个而忘记修改另一个的情况
2. 考虑端口(输入输出)划分:我们在设计函数的时候,最重要的考虑的是它的输入和输出分别是什么,那我们就要针对重要的输入输出进行函数设计
注意:如果函数过小,那么函数的数量就会比较多,中间会有一些不重要的变量干扰阅读
好处:合适的端口划分,会使得你输出的变量是容易用来测试是否正确的,
测试:写完这个程序,我们就要对这个程序进行测试,因为后面还会用到这个程序,如果错了的话会引发一连串的错误,而如果这个函数正确的话,我们就可以放心的使用它,在它的基础上再包装其他的函数
3. 设计好函数功能接下来,进行命名->编写->测试->拼接->完成主程序
变量、函数命名
这个命名要符合他物理的含义,就是你看到名字就能知道他是干什么的
对于变量和函数这两个命名要区分开,可以使用首字母大写来进行变量内容,利用下划线分割来命名函数
最后的小tips
当你分了两个或者多个执行程序之后,就意味着这个执行程序需要跟前面后面进行交互,那么就会输入输出变量进行保存,这个输入输出变量要放在程序的最开始和最结尾,不要在中间或者说函数的里面load加载一个变量,如果上一个程序的输出变量需要更改的话,你还需要进入到这个程序或者函数的里面去改这个变量很麻烦
进行中间小变量的输出,有利于查看问题出在哪里
单独有一个测试模块,对前面每写一个函数都要进行测试功能是否符合预期
注意版本更新,对于我没有必要用github的版本迭代,我会每次准备改都备份一下,然后写一个记事本,这次的版本特点,然后下一次打算进行哪方面的更改
如果你有哪些编程方面走的弯路然后得到了哪些小技巧,欢迎评论分享