我lint程序说,这行是太长:如何解决“行太长”错误由lint命令给出
@abc = @def.model_name.where(id: @ghi.id).sum(:jkl) unless @ghi.blank?
我怎样才能解决呢?
我lint程序说,这行是太长:如何解决“行太长”错误由lint命令给出
@abc = @def.model_name.where(id: @ghi.id).sum(:jkl) unless @ghi.blank?
我怎样才能解决呢?
我花了一段时间,但固定它
@abc = @def.model_name.where(
id: @ghi.id).sum(:jkl) unless @ghi.blank?
请不要发布您的最终代码,除非这是您接受的答案。如果这是你接受的答案,那么你需要解释你为什么这样做,并解释它是如何工作的。将“最终解决方案”作为答案添加并不真正有助于提供清晰度,并且在某些讨论中他们表示通过分散实际解决问题的答案,实际上损害了问题的价值。 –
我认为其他的建议对于陌生人来说更容易阅读(包括如果你在一年的时间内回到这个代码,你自己也会这样做)。 –
的解决方案是使线条更短。
unless @ghi.blank?
@abc = @def.model_name
.where(id: @ghi.id)
.sum(:jkl)
end
这将是普遍接受的方式,缩短行而不会更广泛地重构。
此外,它只是一个短绒。如果你不这么做,你的代码仍然可以工作,但它的可读性会降低。
Linters可以帮助我们意识到潜在的问题,并帮助团队和整个社区加强共同的编码实践。线条长度是我旋转的那些东西之一,因为70个字符是古老的。如果你打印出代码是明智的,但这些日子里很少有人这样做。相反,我们正在寻找能够显示255个字符的监视器上的编辑器。 255太长,所以我建议我们的团队使用132作为快乐的媒介。 –
呵呵?缩短生产线或改变棉绒的灵敏度。 –
只要在任何点之前打破它,或考虑将该逻辑提取为方法 – kaikuchn
@kaikuchn:更好地打破_after_ dots。更多IRB友好。 –