2017-03-10 45 views
-2

我lint程序说,这行是太长:如何解决“行太长”错误由lint命令给出

@abc = @def.model_name.where(id: @ghi.id).sum(:jkl) unless @ghi.blank? 

我怎样才能解决呢?

+0

呵呵?缩短生产线或改变棉绒的灵敏度。 –

+0

只要在任何点之前打破它,或考虑将该逻辑提取为方法 – kaikuchn

+0

@kaikuchn:更好地打破_after_ dots。更多IRB友好。 –

回答

1

我花了一段时间,但固定它

@abc = @def.model_name.where(
     id: @ghi.id).sum(:jkl) unless @ghi.blank? 
+0

请不要发布您的最终代码,除非这是您接受的答案。如果这是你接受的答案,那么你需要解释你为什么这样做,并解释它是如何工作的。将“最终解决方案”作为答案添加并不真正有助于提供清晰度,并且在某些讨论中他们表示通过分散实际解决问题的答案,实际上损害了问题的价值。 –

+0

我认为其他的建议对于陌生人来说更容易阅读(包括如果你在一年的时间内回到这个代码,你自己也会这样做)。 –

1

的解决方案是使线条更短。

unless @ghi.blank? 
    @abc = @def.model_name 
      .where(id: @ghi.id) 
      .sum(:jkl) 
end 

这将是普遍接受的方式,缩短行而不会更广泛地重构。

此外,它只是一个短绒。如果你不这么做,你的代码仍然可以工作,但它的可读性会降低。

+0

Linters可以帮助我们意识到潜在的问题,并帮助团队和整个社区加强共同的编码实践。线条长度是我旋转的那些东西之一,因为70个字符是古老的。如果你打印出代码是明智的,但这些日子里很少有人这样做。相反,我们正在寻找能够显示255个字符的监视器上的编辑器。 255太长,所以我建议我们的团队使用132作为快乐的媒介。 –

相关问题