15、Ruby编程:代码格式与库设计的最佳实践

Ruby代码格式与库设计最佳实践

Ruby编程:代码格式与库设计的最佳实践

1. 避免强制执行任意代码限制

RuboCop是一款流行的Ruby代码检查工具,但其默认配置会启用所有与指标相关的检查。默认情况下,RuboCop会对以下情况发出警告:
- 类超过100行
- 模块超过100行
- 方法超过10行
- 代码块超过25行
- 代码块嵌套超过三层
- 方法参数(包括关键字参数)超过五个

强制执行这些限制往往会导致代码质量变差,而非变好。反对任意限制的理由很简单:如果存在一种更好且符合限制的方法,开发者早就会采用了。支持任意限制的观点则认为,程序员可能因愚蠢、无知或缺乏经验而不知道最佳方法,通过强制执行限制可以迫使他们重构代码,减少潜在的危害。然而,一个简单的反驳是,如果程序员连在限制范围内正确编写代码的能力都没有,我们又怎能相信他们能将代码智能地拆分成更小的部分以绕过这些限制呢?

例如,有一个300行的类,将其内部的方法拆分成四个约75行的独立模块,并将这些模块包含在类中,这并不一定是一种改进。当然,如果能将实现某种行为的相关方法组合成一个可在其他类中使用的模块,那创建模块是有意义的。但仅仅为了避免任意限制而拆分类,绝对是不可取的。

以下是一个示例代码,实现了一个 XYZPoint 类,假设 xs ys zs 是返回整数数组的方法, all_combinations 方法会生成 xs ys zs

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值