MATLAB编程规范

所需积分/C币:42 2018-08-21 21:04:38 721KB PDF
6
收藏 收藏
举报

本指南主要考虑的是代码的正确性、清晰性与通用性。本指南的目的在于帮助写出更可能正确、易于理解、更具共享性与更利于维护的代码。
编程风格指南 译 割)是其中的一种,虽然可读性比较好,但是在其他语言变量名屮并不很常用。另外一种 考虑的方法是在变量名中采用下划线,但是下划线在 的解释程序中会将其 翻译为下标转换符 应用范围比较大的变量应该具有有意义的变量名,小范围应用的变量应该用短的变量名 实际上,大多数变量都应该具有有意义的变量名,短变量名通常作为结构申明时候必 须阐明意义的情次下的变量的保留用法。当然,作为“草稿变量”的的临时存储空间或者 索引可以用短名字。程序员在读到这样的变量的时候,可以假定这个变量的值在没有几行 之后的代码中就不会再用到。通常的“草稿变量”整数的时候用,, (不过我 认为最好少用,,因为他们作为 中的永久性常量表示虚数单位的。译者注), 双精度数的时候常用,和。 前缀应该用在作为数值对象的申明的时候 这一符号来自于数学,在数学中这被作为标明数值对象的建立规则。 例如: 一个附加的特别之处在于用来表明行数(来源于号),例如变 量名: 应该遵循的一个有关复数( )变量的惯例 此处的复数应该是指包含多个个体的变量,相对于单数( )而 译者 个实用的建议是将所有变量名要么为单数形式,要么为复数形式。两个变量只是 最后相差一个字母加以区别的情况应该避免。一个可以接收的选择是对于复数利用后缀 。例如: (前者为单数,后者为复数) 只代表单个实体数据的变量可以加以后缀或者是前缀 符号来自于数学在表明实体数据的时候的建立规则。例如: 前缀使得变量命令可以循环进行。例如变量名: 循环变量应该以、、等为前缀 该符号来源于数学在表明一个循环的时候的变量建立规则。例如: 编程风格指南 译 注意:当应用屮有复数数据的时候,应该禁用、,因为他们都是作为虚数单位使用。 对于嵌套循环,循环变量应该以字母表的顺序。 对于嵌套循环,循环变量应该命名为有帮助意思的变量名。例如: 否定式的布尔变量命名是应该避免的 当采用否定式的布尔变量命名法吋,如果采用逻辑运算取非的操作符号对变量进行 链接运算的时候,将出现双重否定的情况。例如,用 没有采用 直观。 因此避免使用类似于 这样的变量名。 缩写形式,即使是通常的大写缩写,也应该于小写字母混合使用 全部使用大写字母作为基本的变量名与上面给出的命名规则相冲突。这种类型的变 量只有被命名为类似于 等形式的变量名,很显然这将使得其不具有可读性 当这样的变量名与其他的相联合的时候,其可读性严重降低;下面的单词的缩写很难看岀他 们的本来代表的意思了。 采用: 避免使用 避免使用一个关键字或者特殊意义的字作为变量名 当它的保留字或者内建的特殊值被重新定义的时候, 会给出一个模糊的出 错信息或者是奇怪的结果。保留字在命令关键字中列出,特殊值在文档中列出∫的。 常数 命名常数(包括全局变量)应该采用大写字母,用下划线分割单词 这个规则在开发团体中是非常普遍的。尽管的代码中可能会出现一下 写字母命名常数的情况,例如:,这种内建常数事实上是函数 示例 参数可以以某些通用类型名作为前缀 这样命名的常数给出了个附加信息,指明它们属于哪类以及他们代表的意义。如: 编程风格指南 译 结构体 结构体的命名应该以一个大写字母开头 这与实际编程规范一致的,有助于区分结构体与普通变量 结构体的命名应该是暗示性的(),并且不需要包括字段名( 例如下面例子给出的重复是多余的。 例:应采用 避免用 函数 函数名应该那个说明他们的用途。 函数名应该采用小写字母 将函数名与它的文件名保存为相同的是头脑清晰的做法。采用小写字母可以避免 混合系统操作时候潜在的文件名问题。 小例: 还有另外两种普遍使用的函数名命名规则。一些人喜欢用下划线在函数名中增加其可 读性,另外一些人则根据上面提到的变量的命名规则对函数进行命名。 函数名应该是具有意义的 存在一种不好的 惯例,那就是采用短的函数名,这经常使得其名宁含糊不 清。这或许是因为的个字母的命名规则的限制造成的影响。这种考虑担忧是没有 必要的了,为了增加其可读性,这种习惯也应该避免。例如: 采用 避免: 但是对于那些在数学中广泛使用的缩写或者首字母缩写的情况是个例外。譬如 (),()等 具有这种短的函数名的函数应该在最开始的注释的地方有完整的整个单词使得其意 义清楚并且支持 命令的查询搜索。 单输出变量的函数可以根据输出参数命名 这在的代码中也是经常采用的,譬如 ()等 没有输出变量或者返回值为句柄的函数应该根据其实现的功能命名 这种规则可以增强可读性使得很清楚函数应该或者不应该干什么。这就使得代码很 简洁明了并且易于理解其功能。 编程风格指南 译 示例 前缀 应该作为访问对象或者属性的保留前缀 这一条在 与以及开发实际中经常使用。一个合理的例外是用作为 逻辑置位的操作。 示例: (); 前缀应该用在计算某些量的函数的地方 致应用这一条规则是为了加强可读性。它给读者一条线索:这里是潜在的比较复杂 的、或者比较耗时的操作。 示例 前缀可以用在那些具有查询功能的函数的地方 这使得读者能够理解得到一条线索:这里是一个査询方法,包含有少量计算。一致应 用这条规则可以增强其可读性,是的一个好的替换品。 小例 前缀可以用在对象或者是概念()建立的地方 美语中 就是指的是英国英语中的 。应该避免使用缩写形式。 示例: 前缀应该用在布尔函数的命名的地方 这通常在 的代码以及与代码中普遍使用。 小例: ( 在某些环境下,存在少量的替代它的前缀,包括 以及 等前缀。 补足型( )名称应该用在补足型( )操作的地方 下面通过一个小的归纳减少一个一个说明的复杂性 示例 等 避免无意识地覆盖( 通常,函数的命名应该是唯一的()。覆盖( )(两个或者多个函数 具有相同的函数名)会增加不可预测的行为或者错误。可以通过 或者是 来检查文件名重复的情况。 编程风格指南 译 概要 命名多维变量与常量应该具有单位后缀 只采用单一的单位集合是一个很不错的想法,但是通常在程序的完整实现很少见的 增加单位后缀可以帮助避免必然的混淆。 命名中应该避免缩写 利用完整的单词命名可以减少含糊,有利于使得代码自成为文档( 采用 避免 特殊领域的常用语的简写或者首字母缩写形式更容易自然地被理解,因此他们应该 保持缩写形式。甚至在他们第一次出现的时候的定义注释的时候都是允许的。 示例: 考虑使得名字可以拼读 在命名的时候应该至少考虑易于拼读与记忆 所有的命名都应该以英语的形式写出 是以英语发布的,英话是国际研发交流中最适合的语言。 文件与程序结构 将代码结构化,不只是在文件的内部,也包括在文件之间,都能够使得程序更易丁理 解。有思想的( 程序结构块分割和条理化可以增加代码的质量 文件 模块化 编写一个大程序的最好的方法是将它以好的设计分化为小块(通常采用函数的方式)。 这种方式通过减少为了理解代码的作用而必须阅读的代码数量使得程序的可读性、易于理 解性和可测试性得到了增强。超过编辑器两屏幕的代码都应该考虑进行分割。并且设计规 趔很好的函数也使得它在其他的应用中可用性增强了。 确保交互过程清晰 函数通过输入输出参数以及全局变量与其他代码交互通信。使用参数几乎总是比使用 全局变量清楚明了。釆用结构可以避免那种一长串儿的输入输出参数的形式 编程风格指南 译 分割( 所有的了函数和所有的函数都应该只把件事情做好。 每个凶数应该隐臧()一些东西。 利用现有的函数 开发一个有正确功能的、可读的、合理灵活性的函数在一项有重大意义的任务。或许 寻找一个现成的提供了要求的部分、甚至全部功能的函数应该更快也更具有正确性 任何在多个文件中出现的代码块都应该考虑用函数的形式封装起来 如果代码只在一个文件中出现,那么修改变换起来就会容易得多。“改变是不可避免 的,,除非自动售货机。” 子函数 只被另外一个涵数调用的函数应该作为一个子函数写在同一个文件中这使得代码更 加利于理解与维护。 测试脚本 为每一个函数写一个测试脚本。这样可以提高初期版本的质量和改进版本的可靠性 要注意的是,任何函数如果不易于测试的话就可以不易于编写的 讲到:“ 个好的反人员知道,设训测试案例比实际的测试需要更多的行动。” 输入输出 编写输入输出模块 输出要求可以无需特别注意就可以根据变化而改交,输入的格式与内容根据变化的时 候经常很混乱。找到处理输出的地方进行改善,提高其可维护性。避免将输入输出部分 的代码与计算功能的代码混淆在一起,单个函数的预处理的时候除外。各种功能混合的函 数的可再用性一遍很小。 格式化输出使得其易于利用 如果输出很大可能是人工阅读,那么就让输出采用易于越多的描述性的方式。 如果输岀更多的可能是通过其他软件调用而不是人,那么应该使得输岀易于解析。 如果这以上两种情况都很重要,将输出表达成易于解析的格式,并编写一个格式化输 出的函数用来产生一个人工可读的输出版本 编程风格指南 译 基本语句 变量与常数 变量不应该重复使用(赋予为不同意义),除非因为内存限制的需要 通过确保所有的概念都只有唯一的意义可以加强代码的可读性,以及通过消除误解 的定义可以减少错误的可能。 同种类型的相近的变量可以在同一个语句中定义 不相近的变量应该不要在同一个语句中定义 通过变量分组可以增强其可读性。 示例 注意在文件开始部分的注释中为重要变量编写文档 在其他的编程语言中,在变量申明的地方为他们编写文裆是一种标准话的操作。既然 不需要变量申明,这种信息就可以在注释中提供。 示例:% 注意在语句行注释的最后为常数编写文档 这对参数有关合理性、应用和约束等附加信息。 示例 % 全局变量 应该尽量少地使用全局变量 参数传递在代码清晰性与可维护性方面都比常用全局变量要好。在某些应用 变量的地方可以被 和 所代替。 应该尽量少用全局常量 利用文件或者是文件,这样航可以使得很清楚,常数在什么地方定义的,避 免无意识地重复定义。如果文件的访问接口是不令人满意的,那么可以考虑采用全局常数 的结构的形式。 编程风格指南 译 循环语句 循环变量应该在循环开始前立即被赋值 这可以提高循环的速度,有助于防止循环没有执行所有的可能索引而产生的虚假值。 例 (); 在循环中应该尽量少用与 这些结构可以与相比较,只有当他们可以证明用这些结构可以比他们相应的结 构化部分有更好的可读性的时侯,才可以使用。 在嵌套式循环的时候应该在行加上注释 在长的嵌套循环的命令行添加注释可以有助于弄明白哪些语句在那个循环体内 在此处之前已经完成了哪些功能 条件语句 应该避免复杂的条件表示式,而采用临时逻辑变量进行替代 通过对表达式指定逻辑变量,使得桯序更能够臼为文档,使得程序结构更易于阅读 与调试。 示例 避免使用: 而应该用如下的方式代替:

...展开详情
试读 17P MATLAB编程规范
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
    最新推荐
    MATLAB编程规范 42积分/C币 立即下载
    1/17
    MATLAB编程规范第1页
    MATLAB编程规范第2页
    MATLAB编程规范第3页
    MATLAB编程规范第4页

    试读结束, 可继续读2页

    42积分/C币 立即下载 >