日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何寫出干凈的代碼代碼越少越干凈嗎?

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

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

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

 
 
  1. public Embedder configuredEmbedder() {
  2. Embedder embedder = super.configuredEmbedder();
  3. ignoreStoriesAndScenariosWithMetaInformationParameter(embedder, "ignore");
  4. return embedder;
  5. }
  6. private void ignoreStoriesAndScenariosWithMetaInformationParameter(Embedder embedder, String ignoreParameter) {
  7. embedder.useMetaFilters(Arrays.asList("-" + ignoreParameter));
  8. }

在之后對這些代碼的討論中,我的一個同事表示,他剛剛刪除了一些“沒有必要”的私有方法,于是代碼變成了這樣:

 
 
  1. @Override
  2. public Embedder configuredEmbedder() {
  3. Embedder embedder = super.configuredEmbedder();
  4. embedder.useMetaFilters(Arrays.asList("-ignore"));
  5. return embedder;
  6. }

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

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

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

 
 
  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;
  7. }

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

結(jié)論

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

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

譯文鏈接:http://www.codeceo.com/article/is-clean-code-less-code.html
英文原文:Is Clean Code less Code?


本文名稱:如何寫出干凈的代碼代碼越少越干凈嗎?
當(dāng)前路徑:http://www.dlmjj.cn/article/djcjgop.html