91在线视频播放|成人黄视频在线观看|在线视频福利|天天欲色成人综合网站|国产国语videosex护士

機(jī)構(gòu)檔案
  • 機(jī)構(gòu)級(jí)別:普通會(huì)員
  • 信用等級(jí):

在線交談:點(diǎn)擊這里給我發(fā)消息

咨詢熱線:029-62258374

學(xué)校評(píng)價(jià)(我要提問/點(diǎn)評(píng))

  • 學(xué)校被點(diǎn)評(píng):0
  • 好評(píng)(0%)
  • 中評(píng)(0%)
  • 差評(píng)(0%)

資料認(rèn)證

    未通過身份證認(rèn)證 未通過身份證認(rèn)證

    未通過辦學(xué)許可認(rèn)證 未通過辦學(xué)許可認(rèn)證

  • 學(xué)校瀏覽人次:
  • 加盟時(shí)間:2017年03月10日
新聞動(dòng)態(tài)

西安尚學(xué)堂Java培訓(xùn)專家:代碼越少越干凈嗎?

發(fā)布者:西安尚學(xué)堂 發(fā)布時(shí)間:2017-05-02 來源:西安尚學(xué)堂

在很多西安尚學(xué)堂Java培訓(xùn)專家的眼中對(duì)于干凈代碼的定義就是簡單、易于理解的代碼。不過分設(shè)計(jì),模板文件盡可能地少,語義明確。那么,這樣是否就意味著代碼越少越干凈呢?不盡然。大多數(shù)情況下,更少的代碼往往語義更模糊,更難理解(因此更難維護(hù))。

Java

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

1

2

3

4

5

6

7

8

public Embedder configuredEmbedder() {

 Embedder embedder = super.configuredEmbedder();

 ignoreStoriesAndScenariosWithMetaInformationParameter(embedder, "ignore");

 return embedder;

}

private void ignoreStoriesAndScenariosWithMetaInformationParameter(Embedder embedder, String ignoreParameter) {

 embedder.useMetaFilters(Arrays.asList("-" + ignoreParameter));

}

在之后對(duì)這些代碼的討論中,其他工程師表示,可以刪除了一些“沒有必要”的私有方法,于是代碼變成了這樣:

1

2

3

4

5

6

@Override

public Embedder configuredEmbedder() {

 Embedder embedder = super.configuredEmbedder();

 embedder.useMetaFilters(Arrays.asList("-ignore"));

 return embedder;

}

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

通過添加注釋也可以達(dá)到相同的效果。可以通過注釋解釋元過濾器代碼和jBehave層文件之間的聯(lián)系。所以最后,代碼成了這樣的:

1

2

3

4

5

6

7

@Override

public Embedder configuredEmbedder() {

 Embedder embedder = super.configuredEmbedder();

 // ignore stories and scenarios with meta information parameter @ignore.

 embedder.useMetaFilters(Arrays.asList("-ignore"));

 return embedder;

}

可以通過討論具體的例子找到一種普遍的風(fēng)格。也許其他開發(fā)人員會(huì)因此而考慮他的代碼是否會(huì)給新加入的同事帶來困惑,從而去添加注釋,而不是將方法縮成減一行代碼。

結(jié)論

干凈的代碼并不總意味著更少的代碼。所以,需要在編寫更多的小方法和縮減代碼行數(shù)之間權(quán)衡得失。