成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼越少越干凈嗎?

移動開發
在我眼中,干凈的代碼就是簡單、易于理解的代碼。不過分設計,模板文件盡可能地少,語義明確。那么,這樣是否就意味著代碼越少越干凈呢?

在我眼中,干凈的代碼就是簡單、易于理解的代碼。不過分設計,模板文件盡可能地少,語義明確。那么,這樣是否就意味著代碼越少越干凈呢?

 

[[133965]]

我不這么認為。大多數情況下,更少的代碼往往語義更模糊,更難理解(因此更難維護)。

當我使用jBehave工作和測試元過濾時,我寫了類似于下面的代碼:

  1. public Embedder configuredEmbedder() { 
  2. Embedder embedder = super.configuredEmbedder(); 
  3. ignoreStoriesAndScenariosWithMetaInformationParameter(embedder, "ignore"); 
  4. return embedder; 
  5. private void ignoreStoriesAndScenariosWithMetaInformationParameter(Embedder embedder, String ignoreParameter) { 
  6. embedder.useMetaFilters(Arrays.asList("-" + ignoreParameter)); 
  7.  
  8. 在之后對這些代碼的討論中,我的一個同事表示,他剛剛刪除了一些“沒有必要”的私有方法,于是代碼變成了這樣: 
  9.  
  1. @Override 
  2. public Embedder configuredEmbedder() { 
  3. Embedder embedder = super.configuredEmbedder(); 
  4. embedder.useMetaFilters(Arrays.asList("-ignore")); 
  5. return embedder; 

顯然,方法更短,代碼更少了。對我們來說,使用這樣的類,或許能讓我們在工作時對這個方法所發生的變化一目了然。但是如果有新加入項目的人呢,并且這家伙之前從未使用過jBehave呢?對他而言,長一點的代碼反而可以獲取更多的信息,即使他不知道jBehave是如何工作的,不清楚“元過濾器”是什么,不懂minus的意思——但是至少能理解我們想要實現的目標。

當我試圖解釋自己的看法時,其他開發人員雖然同意我的觀點,但卻認為通過添加注釋也可以達到相同的效果。是的,我完全同意,添加注釋肯定是有效的。這只是風格問題。我個人不喜歡注釋而已,不過,在上述這種情況下,或許注釋的確是更好的選擇,因為我們可以通過注釋解釋元過濾器代碼和jBehave層文件之間的聯系。

所以***,代碼成了這樣的:

  1. @Override 
  2. public Embedder configuredEmbedder() { 
  3. Embedder embedder = super.configuredEmbedder(); 
  4. // ignore stories and scenarios with meta information parameter @ignore. 
  5. embedder.useMetaFilters(Arrays.asList("-ignore")); 
  6. return embedder; 

當然你可以說,這樣一個小小的事例不值一提。但是,一個項目的風格,我認為是非常重要的。你也可以通過討論具體的例子找到一種普遍的風格。也許其他開發人員會因此而考慮他的代碼是否會給新加入的同事帶來困惑,從而去添加注釋,而不是將方法縮成減一行代碼。

結論

干凈的代碼并不總意味著更少的代碼。所以,你需要在編寫更多的小方法和縮減代碼行數之間權衡得失。關于編碼風格,以后我會再發帖子予以討論。

你更喜歡哪種解決方案,為什么呢?歡迎留下各位的看法。

責任編輯:chenqingxiang 來源: 碼農網
相關推薦

2015-05-11 10:48:28

代碼干凈的代碼越少越干凈

2019-08-06 16:40:33

手機按鍵屏幕

2011-11-29 10:05:52

數據中心Facebook工作崗位

2019-12-26 09:42:54

互聯網免費收費

2021-09-06 18:54:58

Java代碼表達式

2025-02-06 07:30:32

2022-06-07 09:30:35

JavaScript變量名參數

2020-07-15 14:51:39

代碼C+開發

2021-09-01 08:55:20

JavaScript代碼開發

2020-08-27 07:00:00

代碼軟件應用程序

2021-11-30 10:20:24

JavaScript代碼前端

2022-07-29 08:40:20

設計模式責任鏈場景

2021-04-27 22:38:41

代碼開發前端

2021-12-12 21:34:48

手機屏幕貼膜

2017-09-14 12:45:35

2023-03-27 15:05:10

Python技巧

2022-05-27 11:44:53

JS代碼

2022-05-17 09:17:45

JS 代碼越來越難讀

2021-12-01 15:50:12

手機廠商處理器

2023-01-27 14:53:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本在线网站 | 在线看片国产精品 | 日本网站免费在线观看 | 日韩超碰在线 | 在线免费观看视频你懂的 | 国产成人精品久久二区二区91 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 欧美视频在线播放 | 国产一区二区视频在线 | 欧美一区二区三区免费电影 | 国产一级网站 | 九九久久久 | 成人精品视频在线观看 | 亚洲天堂影院 | 一区二区三区在线 | 综合五月 | 午夜免费福利片 | 亚洲精品视频在线 | 精品视频一区二区三区 | 99久久99热这里只有精品 | 美国一级毛片a | 久久亚洲国产精品 | 精品久久久久久久 | 免费xxxx大片国产在线 | 日本不卡高字幕在线2019 | 欧美一区二区三区 | 狠狠躁夜夜躁人人爽天天高潮 | 欧美一区二区三区久久精品 | 欧美日韩在线看 | 午夜精品视频在线观看 | 国产精品一区2区 | 午夜av成人| 麻豆精品一区二区三区在线观看 | 国产精品视频免费观看 | 国产一级片在线观看视频 | 久久久久无码国产精品一区 | 一区二区三区在线 | 久久久久久国产精品久久 | 亚洲一区二区在线 | 亚洲性综合网 | 久久亚洲视频 |