首页 新闻 会员 周边 捐助

实现一个操作,一个方法也能实现,两个方法也能实现,如何判断哪些需要写进一个方法里?

0
悬赏园豆:10 [已解决问题] 解决于 2018-12-22 13:28

我目前有一个操作,挺复杂,我把它拆分成几个方法,但是我又想了想,我拆分的方法只有他自己用,别人不会用,那还有必要将这一个大方法拆分成几个小方法吗?这是根据什么划分的?

c#
猝不及防的主页 猝不及防 | 老鸟四级 | 园豆:2878
提问于:2018-12-21 13:34
< >
分享
最佳答案
0

一个方法只专注于当前的一个功能。

如果一个方法完成的功能较为复杂,可以拆分成几个方法。这样每个方法就只专注于眼前的功能,从而降低问题的复杂度。

不拆分,代码冗长不易理解。

拆分,结构清晰明了,可读性高。

假设以后用到了里面某个小功能,还可以复用代码。

所以我认为可以拆分一下。

收获园豆:10
古宇 | 菜鸟二级 |园豆:476 | 2018-12-21 15:17

嗯,就是突然不知道为什么拆分了

猝不及防 | 园豆:2878 (老鸟四级) | 2018-12-22 13:27

@猝不及防: 哈,正常正常,我有时候也会突然卡壳了~

古宇 | 园豆:476 (菜鸟二级) | 2018-12-22 14:16
其他回答(5)
0

拆分不拆分有什么意义吗?

徒然喜欢你 | 园豆:1741 (小虾三级) | 2018-12-21 13:58

这不就是我问的问题吗

支持(0) 反对(0) 猝不及防 | 园豆:2878 (老鸟四级) | 2018-12-21 14:48
0

能复用的代码就提取成一个独立的方法。

阿雯→ | 园豆:282 (菜鸟二级) | 2018-12-21 14:01
0

拆分方法后,看得也舒服些。提高可读性

保镖 | 园豆:759 (小虾三级) | 2018-12-21 14:12
0

有必要,起码拆分了看着不吓人。至于拆分的粒度,不好说,全看个人经验吧

会长 | 园豆:12463 (专家六级) | 2018-12-21 14:45
0

一个函数定位只做一件事情,只会因一个因素而去改变它。理清楚你这一件事情的主线逻辑是有哪些步骤,这些步骤之外的辅助操作都可以单独的拆分出去:1是保证了主线的清晰,2是会迫使你的函数只关心一件事情。

另外还有一个很好的方法:如果你无法用“一个动作”来为你的函数命名,多半是你的函数职责不够单一了;再如果你很难给你的一个函数命名,那99.9999%的可能是你的函数编程了大杂烩。

Timetombs | 园豆:3959 (老鸟四级) | 2018-12-22 15:53

好的,谢谢

支持(0) 反对(0) 猝不及防 | 园豆:2878 (老鸟四级) | 2018-12-25 08:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册