matlab编程风格

matlab编程风格

参考博客:https://blog.csdn.net/yuandm819/article/details/52453674?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

1、命名

变量

  • 单变量名用小写英文,复合变量名用小写英文加下划线的组合或者小写英文加首字母大小开头qualityofLife

  • 前缀n可以用来表明是数字对象,一般类似nSegments,用于表明循环的循环总次数

  • 前缀i可以用来表明循环变量

  • for iFile = 1:nFiles
    	for jSegment = 1:nSegments
    	...
    	end
    end
    
  • 前缀m可以用来表明行数,例如mRows

  • 重要变量需要在语句后面添加注释

常数

  • 全部大写字母下划线组合
  • 如果属于某些类,可以指明,COLOR_GREEN

函数

  • 小写字母
  • 函数名需要具有可读性,尽量少缩写,函数名应说明函数输出的意义
  • 如果没有输出,则应说明函数的具体功能
  • 前缀get/set应该暗指访问对象或者设置属性
  • 前缀compute应该暗指计算某个量,过程比较复杂
  • 前缀find可以用在那些具有查询功能的函数的地方 ,包含少量的计算
  • 前缀initialize可以用在对象或者概念初始化的地方
  • 前缀is用在表示判断的地方
  • 补足型用在某种弥补操作的地方, 示例: get/set,add/remove,create/destroy,start/stop,insert/delete,increment/decrement
    old/new,begin/end,first/last,up/down,min/max,next/previous,open/close ,show/hide,suspend/resume,等

常规变量可以添加一些说明,比如说明变量的单位等等,所有的变量都用英文编写,便于交流

2、文件与程序结构

M文件

  • 模块化,采用函数的形式,超过两屏幕的代码都应该尝试着封装进行模块化,将代码进行分割,使得整个代码更具有交互性
  • 搜索,找寻现有的函数,比自己编其实更省事以及更有正确性
  • 子函数,若该子函数只用一次,那么最好跟用它的那个函数写在一个文件里面(个人认为这个对于小项目来说,基本上不适用)
  • 测试脚本,为每个函数都编写一个

输入输出

  • 人工阅读,最好格式化输出,使得可读性增加
  • 计算机调用,则写成便于调用的形式

3、基本语句

循环语句

  • 循环变量开始前进行赋值,可以赋值为零向量,防止后面没有循环完所有的索引产生虚假值
result = zeros(nEntries, 1);
for index = 1: nEntries
	result (index) = function(index);
end
  • 嵌套循环里面,在end语句后面加上注释,说明完成了哪些功能

条件语句

  • 避免复杂的条件表达式,应该用临时变量替代
避免使用 
 if(value>=lowerLimit)& (values<=upperLimit) &~ismember(value,valueArray) 
          …… 
          …… 
 end
 
 应该使用
 isValid  = (value=lowerLimit)& (values<=upperLimit); 
 isNew  = ~ismember(value,valueArray) 
 if (isValid & isNew) 
      …… 
      …… 
 end 
  • switch语句中需要有otherwise条件
  • switch变量通常是字符串
  • 表达式中少用数字,用变量进行替代更容易理解后期更改

4、排版、注释

排版

  • 代码内容应该保持在80列以内,其他的就用 连接符分开
  • 一行代码只包含一个可执行语句
  • 在=, &, | 前后加上空格逗号后面加一个空格(这部分按照Python的就比较合适)

注释

  • 注释的目的是为了加强可读性,而不是为了打补丁
  • 函数头部的注释应该支持helplookfor 查询
  • 函数的注释需要说明代码的局限性,也就是适用范围

文档

  • 规范化:说明代码的目的,设计思路,依赖什么样的环境和如何调用等
  • 开发代码之前应该开发文档
  • 记录好修改的内容,每一步修改的日期等等
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值