php给变量取个简短且无歧义的名字
发布:smiling 来源: PHP粉丝网 添加日期:2018-09-15 23:17:07 浏览: 评论:0
代码审计至少包含两个方面首先要确定代码的目的或功能;另外就是检查代码的可读性,即是否更利于理解和维护。
或许你审计过很多代码,太长的变量名确实很让人抓狂。不仅影响了代码的清晰度,而且过长的变量让你的代码难以扫描,迫使更多的换行。
如何给变量或方法取个好名字
首先你要知道这个命名想要表达什么;另外你应该知道这个命名跟什么是无关的。 除此之外,所有的命名中所有的字符串都是多余的。
(1)省略变量的参数类型
如果是静态类型的语言,你是会知道变量的类型或方法返回值类型,再在命名上加上类型就是多余了
- // Bad:
- String nameString;
- DockableModelessWindow dockableModelessWindow;
- // Better:
- String name;
- DockableModelessWindow window;
可用复数代替某些类型
- // Bad:
- List<DateTime> holidayDateList;
- Map<Employee, Role> employeeRoleHashMap;
- // Better:
- List<DateTime> holidays;
- Map<Employee, Role> employeeRoles;
方法名不应该描述参数或其类型
- // Bad:
- mergeTableCells(List<TableCell> cells)
- sortEventsUsingComparator(List<Event> events,
- Comparator<Event> comparator)
- // Better:
- merge(List<TableCell> cells)
- sort(List<Event> events, Comparator<Event> comparator)
(2)省略命名中的歧义描述
当你看到这个变量名recentlyUpdatedAnnualSalesBid你是不是在想
有没有年度销售报价不是最近的?
最近的年销售报加有没有没更新的?
有没有最近更新的销售报价不是年度的?
...
请去掉这些无关的描述吧,何况你可以加注释嘛。
- // Bad:
- finalBattleMostDangerousBossMonster;
- weaklingFirstEncounterMonster;
- // Better:
- boss;
- firstMonster;
(3)去掉上下文已知的内容
比如说当class描述了某个内容,方法名就不需要再重复了
- // Bad:
- class AnnualHolidaySale {
- int _annualSaleRebate;
- void promoteHolidaySale() { ... }
- }
- // Better:
- class AnnualHolidaySale {
- int _rebate;
- void promote() { ... }
- }
(4)省略掉无意义的信息
很多人喜欢命名基于产品的很多商业名词,比如data, state, amount, value, manager,engine, object, entity, and instance.这些词是否存在没有意义。
看下面一个联系
- class DeliciousBelgianWaffleObject {
- void garnishDeliciousBelgianWaffle(
- List<Strawberry> strawberries) { ... }
- }
简化成这样是不是很爽
- class Waffle {
- void garnish(List<Strawberry> strawberries) { ... }
- }
Tags: 歧义 变量 名字
相关文章
- ·php安装xdebug后var_dump()不能输变量内容解决办法(2013-12-06)
- ·关于php 静态变量与静态方法(2014-01-17)
- ·php中变量作用域和超级全局变量介绍(2014-05-23)
- ·解决关于PHP“Undefined variable”变量未定义(2014-06-14)
- ·PHP static 静态变量和属性方法使用说明(2014-07-15)
- ·php中static静态类与static 静态变量用法区别(2014-08-29)
- ·php静态变量define,static,const(2014-09-18)
- ·PHP中动态特性学习笔记(2015-04-08)
- ·PHP字符变量奇怪现象的解释(2018-09-15)
- ·使用PHP静态变量当缓存的方法(2020-06-28)
- ·PHP static局部静态变量和全局静态变量总结(2020-09-27)
- ·神盾加密解密教程(一)PHP变量可用字符(2021-01-15)
- ·PHP中变量引用与变量销毁机制分析(2021-04-26)
- ·php中静态类与静态变量用法的区别分析(2021-05-08)
- ·变量在 PHP7 内部的实现(一)(2021-06-30)
- ·变量在 PHP7 内部的实现(二)(2021-06-30)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)