国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php給變量取個簡短且無歧義的名字

2024-05-04 21:50:12
字體:
來源:轉載
供稿:網友

代碼審計至少包含兩個方面首先要確定代碼的目的或功能;另外就是檢查代碼的可讀性,即是否更利于理解和維護。

或許你審計過很多代碼,太長的變量名確實很讓人抓狂。不僅影響了代碼的清晰度,而且過長的變量讓你的代碼難以掃描,迫使更多的換行。

如何給變量或方法取個好名字

首先你要知道這個命名想要表達什么;另外你應該知道這個命名跟什么是無關的。 除此之外,所有的命名中所有的字符串都是多余的。

(1)省略變量的參數類型

如果是靜態類型的語言,你是會知道變量的類型或方法返回值類型,再在命名上加上類型就是多余了

  1. // Bad: 
  2. String nameString; 
  3. DockableModelessWindow dockableModelessWindow; 
  4.   
  5. // Better: 
  6. String name; 
  7. DockableModelessWindow window; 

可用復數代替某些類型

  1. // Bad: 
  2. List<DateTime> holidayDateList; 
  3. Map<Employee, Role> employeeRoleHashMap; 
  4.   
  5. // Better: 
  6. List<DateTime> holidays; 
  7. Map<Employee, Role> employeeRoles; 

方法名不應該描述參數或其類型

  1. // Bad: 
  2. mergeTableCells(List<TableCell> cells) 
  3. sortEventsUsingComparator(List<Event> events, 
  4.     Comparator<Event> comparator) 
  5.   
  6. // Better: 
  7. merge(List<TableCell> cells) 
  8. sort(List<Event> events, Comparator<Event> comparator) 

(2)省略命名中的歧義描述

當你看到這個變量名recentlyUpdatedAnnualSalesBid你是不是在想

有沒有年度銷售報價不是最近的?

最近的年銷售報加有沒有沒更新的?

有沒有最近更新的銷售報價不是年度的?

...

請去掉這些無關的描述吧,何況你可以加注釋嘛。

  1. // Bad: 
  2. finalBattleMostDangerousBossMonster; 
  3. weaklingFirstEncounterMonster; 
  4.   
  5. // Better: 
  6. boss; 
  7. firstMonster; 

(3)去掉上下文已知的內容

比如說當class描述了某個內容,方法名就不需要再重復了

  1. // Bad: 
  2. class AnnualHolidaySale { 
  3.   int _annualSaleRebate; 
  4.   void promoteHolidaySale() { ... } 
  5.   
  6. // Better: 
  7. class AnnualHolidaySale { 
  8.   int _rebate; 
  9.   void promote() { ... } 

(4)省略掉無意義的信息

很多人喜歡命名基于產品的很多商業名詞,比如data, state, amount, value, manager,engine, object, entity, and instance.這些詞是否存在沒有意義。

看下面一個聯系

  1. class DeliciousBelgianWaffleObject { 
  2.     void garnishDeliciousBelgianWaffle( 
  3.         List<Strawberry> strawberries) { ... } 

簡化成這樣是不是很爽

  1. class Waffle { 
  2.   void garnish(List<Strawberry> strawberries) { ... } 
  3. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿图什市| 吉隆县| 汤原县| 新营市| 团风县| 禄丰县| 榕江县| 英德市| 延安市| 唐河县| 安阳县| 宜春市| 雷州市| 绥中县| 东丰县| 鄯善县| 满洲里市| 寻乌县| 德保县| 景洪市| 晋州市| 安庆市| 洛阳市| 永丰县| 阿城市| 四子王旗| 军事| 格尔木市| 横山县| 吉水县| 长宁县| 河曲县| 兴海县| 石阡县| 兴山县| 嘉兴市| 海丰县| 江陵县| 应城市| 阿拉善左旗| 万山特区|