在项目中寻找代码的坏命名


Posted in PHP onJuly 14, 2012

常做的和常想的事情

在项目中寻找代码的坏命名

晦涩的if条件

1)对于||的处理

在项目中寻找代码的坏命名

                                在项目中寻找代码的坏命名上面的代码要比下面的代码理解起来花更多的时间

在项目中寻找代码的坏命名

 尽管减少代码行数是一个好目标,但把理解代码所需的时间最小化是一个更好的目标。

在项目中寻找代码的坏命名

 

返回值

在项目中寻找代码的坏命名

                                   在项目中寻找代码的坏命名上面的"$ret"是“我想不出名字“的托词。与其使用这样空洞的名字,不如挑一个能描述这个实体的值或者目的的名字。

在项目中寻找代码的坏命名

                                   在项目中寻找代码的坏命名$alias声明了这个变量是用来承载别名的——标明了这个变量的目的。并且可能帮我们找到缺陷

在项目中寻找代码的坏命名

好的名字应当描述变量的目的或者它所承载的值。

在项目中寻找代码的坏命名

临时变量

在项目中寻找代码的坏命名

                                 在项目中寻找代码的坏命名 这里的$i是“我的临时变量",专门用来让统计数据自动增加,避免统计点的重复。但是对这个$i来讲最重要的并不是临时变量。用charset_index表示“我的统计数据的下标”,更具“描述性”。

在项目中寻找代码的坏命名

在项目中寻找代码的坏命名

循环迭代器

我在我的js代码中也发现了坏味道。

在项目中寻找代码的坏命名

                                 在项目中寻找代码的坏命名i变量名字很空泛,所以不要这么做。

在项目中寻找代码的坏命名

像i,j,iter和it等名字常用做索引和循环迭代器。尽管名字很空泛,但是大家都知道它们的意思是“我是一个迭代器“。——实际上你用这些名字来表示其他含义,那会很混乱。所以不要这么做。

如果你非要用i,j,it这样空泛的名字,那么你要有个好的理由说服自己。

在项目中寻找代码的坏命名

总结

我们在编码的过程中,多花几秒钟想出一个好名字,你会发现我们的“命名能力“很快提升上去。

我一般是先想中文名字,如果实在想不出对应的英文名字,我就会用翻译工具把想到的中文贴上去,然后进行裁剪命名变量或者函数名称。

赠送一张最近看到的不错的命名

在项目中寻找代码的坏命名

 

PHP 相关文章推荐
PHP的FTP学习(三)
Oct 09 PHP
很实用的一个完整email发送程序
Oct 09 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
PHP 事件机制(2)
Mar 23 PHP
几个有用的php字符串过滤,转换函数代码
May 01 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
简单实用的.net DataTable导出Execl
Oct 28 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
PHP中is_dir()函数使用指南
May 08 PHP
PHP Web木马扫描器代码分享
Sep 06 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 #PHP
php学习之function的用法
Jul 14 #PHP
php 操作调试的方法
Jul 12 #PHP
php输出xml格式字符串(用的这个)
Jul 12 #PHP
php长字符串定义方法
Jul 12 #PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 #PHP
PHP中extract()函数的妙用分析
Jul 11 #PHP
You might like
php二维数组用键名分组相加实例函数
2013/11/06 PHP
php获取系统变量方法小结
2015/05/29 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
vue-resource post数据时碰到Django csrf问题的解决
2020/03/13 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Python 加密与解密小结
2018/12/06 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
班干部学习委员竞选稿
2015/11/20 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang