变量定义过程的歧义分解问题

来源:互联网 发布:空间地理基础数据库 编辑:程序博客网 时间:2024/06/05 16:38

本文是学习算法爱好者的学习笔记(仅供学术参考)
在原作者Google的Dart语言变量定义中发现的规律和大家讨论这个问题,Google是采用code review的方案对改动的两种形式做review,主要是为了代码的可读性高,作为该Dart语言的设计者他说如何优化变量的命名问题?
在c语言的外部标识过程中需要从六个字符来确定一个唯一的区分,深度学习的方法目前可以自动修复补全功能的代码,长的命名会带来很多麻烦,同时消耗计算存储单位。这种影响代码清晰性的超长变量的命名办法会造成换行从而是结构发生变化不宜阅读!
长类名会使开发者不宜声明该类型的变量。
加大理解难道
不利于代码重用导致过长的方法链
命名目标
1清晰:说明命名与那些有关
2精确:命名与什么无关不能有歧义

命名中无需含有表示变量或参数的单词:
eg: java的静态类型语言开发者一般知道变量类型,在不知道需要推理本地变量类型的情况下通过很少的code review等静态分析器不可用的情况下都可以推理到的变量类型。
所以将类型说明加入到变量名中是多余的. 我们应该舍弃匈牙利命名法,如下:

// 不好的:
String nameString;
DockableModelessWindow dockableModelessWindow;

// 改进:
String name;
DockableModelessWindow window;

特别是对于集合来说,最好使用名词的复数形式来描述其内容, 而不是使用名词的单数形式来描述. 如果开发者更在乎集合中存储的内容, 那么变量命名应当反映这一点。

// 不好的:
List holidayDateList;
Map

原创粉丝点击