首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重构成许多方法--这是否被认为是干净的?

重构成许多方法--这是否被认为是干净的?
EN

Software Engineering用户
提问于 2011-07-20 07:50:35
回答 6查看 4.4K关注 0票数 46

因此,我看着我的同事抱怨说,他继承的一个项目,应该说,不是很有经验的程序员(实习生留在自己的设备上做一个项目)。

有一个重复的代码,大约7-8行重复的代码(总共14-16行),方法是70-80行代码。我们正在讨论代码,他发现了一种方法来重构它,只需稍微改变一下结构就可以删除重复。

我说得很好,然后我们也应该将代码移到单独的方法中,这样大型方法的可读性就会提高一些。

他说:“不,我永远不会为7-8行代码创建一个方法”。

撇开性能问题不谈,您对此的投入是什么?您是否倾向于使用更多的方法(在c# pads代码中大约有3行)或更大的方法,而这些特定的代码可能不会在其他地方使用?因此,这纯粹是一个可读性问题,而不是代码重用问题。

干杯:)

EN

回答 6

Software Engineering用户

回答已采纳

发布于 2011-07-20 08:08:58

方法中的LoC是一个完全没有意义的度量。重要的事情是关注点的分离和代码的重复。

一个方法应该只做一件事,而这一件事应该用它的名字来表达。其他的事情应该留给其他的方法。

代码重复引起的问题再怎么估计也不为过(换句话说,它们总是比你想象的要大)。仅这一项就足以证明即使使用1行代码的方法也是合理的。

另一方面,使用来自大数据对象的详细信息填充大表单的方法可以很容易地有50行或更多行代码,但是没有一个条件语句。如果没有功能需求(或代码复制),为什么要将其分解成更小的部分?

票数 84
EN

Software Engineering用户

发布于 2011-07-20 08:04:04

较短的方法更易读- 更少的事情需要记住去理解它们。最明确的清洁代码倡导者可能会说,几乎所有的方法都应该短于8行。而且几乎每一个对这个主题感兴趣的开发人员都会同意,方法中的70-80行代码太多了,应该将其分解。

票数 25
EN

Software Engineering用户

发布于 2011-07-20 07:56:40

这都是关于分离关注点的。该方法应回答1个问题或作出1个决定。仅此而已。因此,拥有100行代码的方法意味着这些方法做得太多了。7-8 LoC方法绝对是很棒的.另一个问题是--你打算把所有这些方法都放在哪里?在一个类中有20个简短的方法可能是一个值得关注的话题。我相信,其中的30个是理解抽象概念的错误的好理由。只要保持每件事都尽可能的简短和简单。

票数 8
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/94429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档