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


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 伪造本地文件包含漏洞的代码
Nov 03 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
6种php上传图片重命名的方法实例
Nov 04 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
php安装swoole扩展的方法
Mar 19 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
详解php魔术方法(Magic methods)的使用方法
Feb 14 PHP
PHP并发查询MySQL的实例代码
Aug 09 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
TP5框架简单登录功能实现方法示例
Oct 31 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 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的栏目导航程序
2006/10/09 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
2019/03/16 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
python实现自动重启本程序的方法
2015/07/09 Python
python连接字符串的方法小结
2015/07/13 Python
python中类的属性和方法介绍
2018/11/27 Python
Pytorch之finetune使用详解
2020/01/18 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
青年教师培训方案
2014/02/06 职场文书
经济担保书范文
2014/04/02 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
培训通知
2015/04/17 职场文书
运动员入场词
2015/07/18 职场文书
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python