加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php给变量取个简单且无歧义的名字

发布时间:2023-09-21 10:23:51 所属栏目:PHP教程 来源:
导读:代码审计至少包含两个方面首先要确定代码的目的或功能;另外就是检查代码的可读性,即是否更利于理解和维护。

或许你审计过很多代码,太长的变量名确实很让人抓狂。不仅影响了代码的清晰度,而且过长的变量让你的
代码审计至少包含两个方面首先要确定代码的目的或功能;另外就是检查代码的可读性,即是否更利于理解和维护。

或许你审计过很多代码,太长的变量名确实很让人抓狂。不仅影响了代码的清晰度,而且过长的变量让你的代码难以扫描,迫使更多的换行。

如何给变量或方法取个好名字

首先你要知道这个命名想要表达什么;另外你应该知道这个命名跟什么是无关的。 除此之外,所有的命名中所有的字符串都是多余的。

(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) { ... } 
}
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章