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:nFilesfor 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: nEntriesresult (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 查询
  • 函数的注释需要说明代码的局限性,也就是适用范围

文档

  • 规范化:说明代码的目的,设计思路,依赖什么样的环境和如何调用等
  • 开发代码之前应该开发文档
  • 记录好修改的内容,每一步修改的日期等等

matlab编程风格相关推荐

  1. MATLAB 编程风格指南

    MATLAB 编程风格指南      --Richard  Johnson  Version 1.5,Oct.  2002  版权: Datatool 所有  翻译:Genial @ USTC &qu ...

  2. matlab编程选择语句,Matlab编程-基本命令行语句

    (1) mathlab命令行中","与":"的区别: 结尾不加任何东西也会输出结果 以","结尾不显示变量数值,但是再次输入变量名之后可以输 ...

  3. matlab编程范例_编程范例到底是什么?

    matlab编程范例 Any fool can write code that a computer can understand. Good programmers write code that ...

  4. Matlab编程实现图像滤镜效果(浮雕、怀旧色、连环画、羽化、素描、强光等)

    Matlab编程实现图像滤镜效果 实验的目的是按照PhotoShop中实现滤镜效果的步骤进行matlab程序编码,最后实现相应的滤镜效果.主要包含的滤镜效果有:浮雕效果.怀旧色风格.连环画效果.交叉冲 ...

  5. Matlab编程与数据类型 -- 单元数组

    Matlab编程与数据类型 – 单元数组

  6. matlab 天线设计 泰勒加权_微带天线设计尺寸MATLAB编程及其仿真验证

    龙源期刊网 http://www.qikan.com.cn 微带天线设计尺寸 MATLAB 编程及其仿真 验证 作者:杨小敏 母玉泽 严月 郭小康 马波 张栋 莫骄弟 来源:<中国科技博览> ...

  7. 【ES6】ES6编程规范 编程风格

    [ES6]ES6编程规范 编程风格 一.定义变量的规范 二.字符串 三.对象 四.数组 五.函数 查看更多ES6教学文章: 参考文献 引言:这是ES6系列教学的最后一篇.我们讲解一下ES6编程的规范. ...

  8. 韩磊老师与C#编程风格

    韩磊老师与C#编程风格 --享誉全球的C#经典著作 好消息:韩磊老师将在9.5日的CSDN英雄大会(上海)上现场签名售书,敬请关注. 详细信息:http://www.china-pub.com/209 ...

  9. c语言各种编程风格 微软 gnu,编程规范-c语言的编程风格

    第一章:缩进格式 Tab是8个字符,于是缩进也是8个字符.有很多怪异的风格,他们将缩进格式定义为4个字符(设置为2个字符!)的深度,这就象试图将PI定义为3一样让人难以接受. 理由是:缩进的大小是为了 ...

最新文章

  1. vim代码格式化自动加空格_vim格式化代码实际上就是 缩进代码, 命令是等号=
  2. oracle rac 节点启动,Oracle 10g RAC 节点自动重启故障处理
  3. php 如何实现全选,如何用thinkphp框架实现全选,反选,全不选功能?
  4. matlab里输出恒压的逆变器,基于IGBT逆变器的异步电机变频调速系统的MATLAB仿真...
  5. struts2的namespace的问题
  6. 你该知道的深度强化学习相关知识
  7. 基于IBM Cognos的高级报表制作技巧
  8. 有赞基于ES的搜索系统架构是如何演进的?
  9. spark学习-SparkSQL-java版JavaRDD与JavaPairRDD的互相转换
  10. (转载)Web各大服务器区分(整理)
  11. 在etherscan上传合约源码
  12. 不好使地机器学习预测双色球蓝球号码
  13. 短视频直播怎么搭建_直播平台搭建流程
  14. ArcGIS制图中参考比例尺
  15. 华为交换机做qos案例_经典案例:QoS实现交换机带宽控制(1)
  16. Starling学习笔记
  17. ArcGIS打开影像图显示全黑色解决办法
  18. 吃糖果游戏(tyvj 1567)
  19. 前端请求异步与同步的区别
  20. 计算机上用户名怎么设置,电脑用户名,详细教您电脑用户名怎么修改

热门文章

  1. 《CCNP TSHOOT(642-832)学习指南》一导读
  2. Java中的进程与线程
  3. 利用ISA2006封杀QQ2010
  4. 祝大家元宵节快乐,吃好喝好哦~~
  5. Qt Creator5.12配置OpenCV4.3.0和opencv_contrib扩展包(亲测有效)
  6. sparksql删除MySQL数据_Databricks 第6篇:Spark SQL 维护数据库和表
  7. linux oel7没有网络,rhel7/oel7上修改默认内核启动顺序的方法
  8. 计算机游戏的作文,玩电脑游戏作文
  9. aes sample java,python-AES加密java解密
  10. 录屏 模拟器_Scrcpy-在电脑无缝操作手机 (投屏/录屏/免Root)