几对命名约定的想法
有一天,我在教学实验室在MathWorks最近雇佣了。在实验室,我要求与会者程序乐高机器人机器人使用仿真软件万博1manbetx。我看到在这个实验室的事情之一是,人们往往斗争问这样的问题:
- 这个信号的单位是什么?成弧度或角度?
- 0.15价值的意义是什么,我把
- 这个信号是什么?速度或位置?
答案是一个很好的命名约定。
描述时需要考虑的重要的事情定义一个命名约定,我很高兴欢迎客人的博客迈克尔·伯克。作为的一部分MathWorks咨询服务在多个团队,迈克尔曾与多个客户项目和大量不同的命名约定。
在一个命名约定是什么?
变量命名约定的方法提供的信息在你的模型和生成的代码。做得很好他们很容易理解和使用。然而我们都遇到项目使用老神命名约定,不能发音的,无法解释的,不可能记得。
有助于建立良好的命名约定什么?喜欢口味的冰淇淋,这是有点味道,但是就像好冰淇淋有已知的好原料。在命名约定的情况下,信息是良好的成分。
成分
人:
- 解释:与“你”谁告诉使用的变量是什么;它应该很快让用户/读者知道这是他需要审查。
- 例子:HorseSpeed HorseSp(使用缩写)
- 冰淇淋相当于:这是最重要的部分,这是高脂肪奶油。
(单位):
- 解释:使用物理单位(公斤,m,瓦特)或软件结构(国旗、计数器、州),单位解释数据中扮演的角色。
- 例子:HorseSpeedFurlongsPerFortnight, HorseSpFpf
- 冰淇淋相当于:盐,你忘了,但它使一切变得更好。
(我从哪里来):
- 解释:“地方”的一部分数据告诉数据写入或最初的定义。这可以帮助数据的分区。
- 例子:HorseSpeedRaceTrackFurlongsPerFortnight, HorseSpFpfRacet
- 冰淇淋相当于:更容易调试,所以它就像糖,甜的。
角色:
- 解释:角色定义了数据作为一个信号,常数或可调参数。
- 例子:ConstHorseSpeedRaceTrackFurlongsPerFortnight, conHorseSpFpfRacet
- 冰淇淋相当于:你的基地如巧克力或香草味道
数据类型:
- 解释:人们并不少见,包括数据类型(如双,uint8)在一个变量的名称。除了逻辑变量,这通常是一个贫穷的设计决策,应该避免,因为它限制了代码的可移植性。
- 例子:DoubleConstHorseSpeedRaceTrackFurlongsPerFortnight, DbConHorseSpFpfRacet
- 冰淇淋相当于:吉米,当然他们6岁喜欢一些,但不会持续太久。
存储类:
- 解释:就像上面的数据类型,包括信息存储类限制了长期数据的可移植性。
- 例子:LocalDoubleConstHorseSpeedRaceTrackFurlongsPerFortnight, LocDbConHorseSpFpfRacet
- 冰淇淋相当于:个月大的小块花生撒在上面。
在这个阶段你毫无疑问看着这些名称识别老神上面提到的问题。是一位工程师,15年来一直与该公司会知道所有的缩写,可以解读的意义,但我们这是一个口齿不清的圣歌。好消息是,有指南如何避免这个问题。
混合起来
当创建一个命名约定有两个主要的指导方针。
使人类可读:人类可读性是通过3件事:
- 界定——要么使用CamelCase或under_scores。
- 一致性——总是有相同类型的信息在同一部分的变量。(如没有HorseSpeedMPH和MPH_DonkeySpeed)。
- 限制信息,作为诱人的是将尽可能多的信息你可以到一个变量,通常2或3的信息都需要之前变得无法抗拒。
简洁是灵魂命名约定:缩写命名约定,特别是单位,是可用性的关键:
- 使用标准的缩写,在可能的情况下(如已知英里英里每小时)
- 2和4之间尝试使用缩写字符
- 如果你不能,请考虑使用下划线描绘
考虑这些例子电池电流变量的“我”是目前常见的缩写:
- BatteryI:很容易错过最后“我”字符由于短的长度
- Battery_I:我现在伸出由于“_”字符
- BatterCur:你也可以使用当前的缩写“坏蛋”。
现在轮到你了
我希望星星对齐,你享受你的命名约定!
让我们知道你的想法的指导方针和如果你有其他不包含在这篇文章中留下了一个指导方针这里的评论。
评论
要发表评论,请点击此处登录到您的MathWorks帐户或创建一个新帐户。