All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
EBook tragedy caused by: Apple was $ 840 million claims,
玩了次自拍杆,奥巴马惨了 - 自拍杆,奥巴马
《刺杀金正恩》风波再起,朝鲜暴怒 - 刺杀金正恩,朝鲜,韩国
火速收藏!猴年春晚支付宝红包玩法大公开 - 支付宝红包,猴年春晚,央视春晚,2016年春晚
Oh dear! Monthly salary of 3000, suddenly acquired 496 million dollars in the accounts,
申通快递双11涨价确定:上涨五毛钱 - 双十一,双11,申通快递,快递涨价
机器代人:东莞工人辞高薪工作转型机器人技工 - 机器人
谷歌又要收购:这次被选中的是谁? - 谷歌,谷歌地图,街景
坑妈!小伙省药费打游戏,妈妈捐给他的肾又坏了 - 游戏
Express, China’s first e-commerce express train runs tomorrow,
Reading number is top 10 pictures
yy365网站上的美女2
Born After 90 Beijing sports university campus flower photos1
Sell the barbecue as says father du breul3
程序员的悲哀
Desktop Wallpapers1
战场废物2
More attractive than sora aoi1
乳娘帕梅拉安德森2
清纯性感的美眉1
Perfect small Laurie2
Download software ranking
株洲本地在线棋牌游戏
Take off clothes to survival
美女游泳记
Sora aoi‘s film--Lust fan wall
Photoshop 8.0图象编辑软件
尖东毒玫瑰B
双旗镇刀客B
Eclipse 4.2.2 For Win64
Tram sex maniac 2 (H) rar bag18
Tram sex maniac 2 (H) rar bag5
qq published in(发表于) 2015/5/13 6:37:59 Edit(编辑)
代码越少越干净吗? - 编程,代码

代码越少越干净吗? - 编程,代码

代码越少越干净吗? - 编程,代码 - IT资讯

在我眼中,干净的代码就是简单、易于理解的代码。不过分设计,模板文件尽可能地少,语义明确。

那么,这样是否就意味着代码越少越干净呢?

我不这么认为。大多数情况下,更少的代码往往语义更模糊,更难理解(因此更难维护)

当我使用jBehave工作和测试元过滤时,我写了类似于下面的代码:

public Embedder configuredEmbedder() {

Embedder embedder = super.configuredEmbedder();

ignoreStoriesAndScenariosWithMetaInformationParameter(embedder, "ignore");

return embedder;

}

private void ignoreStoriesAndScenariosWithMetaInformationParameter(Embedder embedder, String ignoreParameter) {

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

}

在之后对这些代码的讨论中,我的一个同事表示,他刚刚删除了一些“没有必要”的私有方法,于是代码变成了这样:

@Override

public Embedder configuredEmbedder() {

Embedder embedder = super.configuredEmbedder();

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

return embedder;

}

显然,方法更短,代码更少了。对我们来说,使用这样的类,或许能让我们在工作时对这个方法所发生的变化一目了然。但是如果有新加入项目的人呢,并且这家伙之前从未使用过jBehave呢?对他而言,长一点的代码反而可以获取更多的信息,即使他不知道jBehave是如何工作的,不清楚“元过滤器”是什么,不懂minus的意思——但是至少能理解我们想要实现的目标。

当我试图解释自己的看法时,其他开发人员虽然同意我的观点,但却认为通过添加注释也可以达到相同的效果。是的,我完全同意,添加注释肯定是有效的。这只是风格问题。我个人不喜欢注释而已,不过,在上述这种情况下,或许注释的确是更好的选择,因为我们可以通过注释解释元过滤器代码和jBehave层文件之间的联系。

所以最后,代码成了这样的:

@Override

public Embedder configuredEmbedder() {

Embedder embedder = super.configuredEmbedder();

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

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

return embedder;

}

当然你可以说,这样一个小小的事例不值一提。但是,一个项目的风格,我认为是非常重要的。你也可以通过讨论具体的例子找到一种普遍的风格。也许其他开发人员会因此而考虑他的代码是否会给新加入的同事带来困惑,从而去添加注释,而不是将方法缩成减一行代码。

结论

干净的代码并不总意味着更少的代码。所以,你需要在编写更多的小方法和缩减代码行数之间权衡得失。




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.