6

将代码拆分为函数和类以实现模块化/解耦是很好的,但如果你这样做太多,你会得到非常碎片化的代码,这也不好。

何时将代码拆分为函数的黄金法则是什么?

4

6 回答 6

7

这确实取决于您项目的规模和范围。

每当有重复的内容时,我倾向于将事物拆分为函数,并且重复概括/抽象,遵循DRY的黄金法则(不要重复自己)。

至于拆分类,我倾向于遵循面向对象编程的口头禅,将相同与不同的东西隔离开来,如果一个类正在实现一个更大的理论“想法”或实体,则拆分类。

但老实说,如果您的代码过于碎片化和不透明,您应该尝试考虑重构为不同的方法/范式。

于 2010-06-24T05:23:45.057 回答
3

如果我能给它一个好名字(比它替换的代码更好),它就变成了一个函数

于 2010-11-15T22:35:19.947 回答
1

可能我自己的个人规则是,如果它超过 2 行,并且在同一页面(ASP.net)上被多次引用,或者在几个页面上被多次引用,那么我将编写一个函数来做它。

于 2010-06-24T05:23:13.250 回答
1

我认为您通常必须考虑一大段代码有机会被重用。它需要经验来解决这个问题并提前计划。

于 2010-06-24T05:23:21.753 回答
1

我同意专注于可重用性和消除重复的答案,但我也相信可读​​性至少同样重要。所以除了重复之外,我会寻找做不止一件事的代码片段(类、函数、块等)。

如果与代码关联的名称没有描述它的作用,那么现在是将该代码重构为单元的好时机,每个单元都有一个单一的职责和一个描述性的名称。这种关注点分离将有助于可重用性和可读性。

有用的代码可以保留很长时间,因此您(或理想情况下是其他人)可以返回并轻松理解几个月或几年前编写的代码是很重要的。

于 2010-08-31T16:00:01.643 回答
0

有人告诉我,你不止一次做的任何事情都应该是一个函数。任何类似的东西都应该有一个父类,最重要的是在你的组织内查阅你的源代码“标准”。后者主要处理格式化。

于 2010-06-24T05:25:57.467 回答