变量定义过程的歧义分解问题
来源:互联网 发布:空间地理基础数据库 编辑:程序博客网 时间: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
- 变量定义过程的歧义分解问题
- 局部变量引起歧义的面试题
- sql 定义变量的问题
- c++变量定义的问题
- sql not in 发生歧义的问题
- 过程分解的必要性
- Map 定义变量时编译的问题
- 关于Action里面定义的变量问题
- 定义变量SQLCODE引起的问题
- 变量被重复定义的问题
- 头文件定义变量的问题
- switch 语句内部变量的定义问题
- pl/sql 关于变量定义的问题
- 变量的定义与使用问题
- javascript定义变量和优先级的问题
- QSqlTableModel变量定义时遇到的问题
- 请教switch内部的变量定义问题?
- 变量问题定义时的注意事项
- 用C语言写php扩展
- OpenCV入门经验
- HDU
- MUI 反向传参
- springboot+undertow+http+https+http2
- 变量定义过程的歧义分解问题
- 归并排序
- HTML5之全局属性
- Collection接口,集合框架
- A*寻路算法
- test
- MySQL进阶语法
- Android 加密解密 DES BASE64 MD5 UTF-8
- 银联应用规范