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


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的header和asp中的redirect比较
Oct 09 PHP
杏林同学录(二)
Oct 09 PHP
怎样在php中使用PDF文档功能
Oct 09 PHP
PHP 多维数组排序实现代码
Aug 05 PHP
解析strtr函数的效率问题
Jun 26 PHP
PHPThumb图片处理实例
May 03 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
PHP获取当前完整URL地址的函数
Dec 21 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
thinkPHP中volist标签用法示例
Dec 06 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 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文件上传表单摘自drupal的代码
2011/02/15 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
php中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python3基础之list列表实例解析
2014/08/13 Python
python实现的文件夹清理程序分享
2014/11/22 Python
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python中的面向对象编程详解(上)
2015/04/13 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
Python求平面内点到直线距离的实现
2020/01/19 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
化验室技术员岗位职责
2013/12/24 职场文书
厂长岗位职责
2014/02/19 职场文书
升职自荐书
2019/05/09 职场文书
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python