![]() | 1 cabing 2019-12-29 10:52:03 +08:00 必须滴。太长说明有问题。不符合单一职能原则。 增加个规定,每个方法不能超过 88 行?每一行长度不能超过 66 个? |
2 KratosOmega OP @cabing 88 行这个不错,不过 git 不好自动扫描方法行数 |
![]() | 3 zhengxiaowai 2019-12-29 11:05:53 +08:00 @KratosOmega 都是现成的 lint 工具,配置一下就好 |
4 lotosbin 2019-12-29 11:09:25 +08:00 代码行数可以用来发现 代码坏味道 ,但是不是所有代码行数多的都需要重构, 可以看下 http://www.ruanyifeng.com/blog/2018/09/complexity.html 优秀的设计是 Deep Class,公开有限的接口,把大量细节隐藏在实现中 |
![]() | 5 cabing 2019-12-29 11:24:18 +08:00 @KratosOmega ^_^ |
![]() | 6 Smash 2019-12-29 11:46:06 +08:00 Android 源码里面 View 类都好几万行。 |
![]() | 7 EscYezi 2019-12-29 11:47:04 +08:00 via iPhone 有就好了,之前在老代码里看到过一个方法四百多行的,实在受不了,拆分成几个五十行以内的方法。最近碰巧有新需求改这块,要是之前没拆,现在估计头都大了。 |
8 KratosOmega OP @Smash 感觉也不能一概而论,如果是 widget 类代码,非业务型代码,可以稍微放松一下要求。那如果业务型代码,几万行怼一个类里是真的头大 |
9 KratosOmega OP @zhengxiaowai lint 工具不好推行,要每个人都配置,而且不是强制性的 |
![]() | 10 jedihy 2019-12-29 16:01:06 +08:00 via iPhone 代码不能复用的话,强行放到一个函数里面有什么意义 |
12 wudaye 2019-12-29 17:38:14 +08:00 via Android 我觉得行数可以用来限制水平一般的人,比如我自己,防止写出难以维护的代码。但是对大佬就不适用了,jdk 里好多几千行的类 |
![]() | 13 akira 2019-12-29 21:12:53 +08:00 这种硬性的要求很奇怪啊。。 |
![]() | 14 poplar50 2019-12-30 10:25:09 +08:00 via Android @KratosOmega lint 可以配到 ci 里,ci 不过不允许合并。 |
15 vagranth 2019-12-30 11:13:50 +08:00 我是觉得这个数有点少,刚看了一下最近写的代码,最大的文件是 841 行。 顺便说一句,我记得 666 是恶魔的数字。 |