我正在开发一个庞大的项目,我们决定让所有代码符合每行80个字符。这是一个基于ruby的项目,包含C的包装。对于Ruby,我决定使用Rubocop并使用命令:
rubocop --only LineLength
我有1,714个错误,其中行的长度超过80个字符。除此之外,Rubocop还检测到许多其他错误,我现在想忽略它们。
我正在寻找最简单的方法来自动纠正所有线路长度违规仅,以满足C和Ruby中的80个字符限制。
答案 0 :(得分:0)
请勿自动更改线路长度。
Linelength是指标,而非样式。样式通常可以交换,如双引号和单引号,使用hashrockets与ruby 2中引入的新哈希语法等。选择样式通常是一种品味问题,对程序本身几乎没有(如果有的话)影响。这就是样式自动更正的原因:更改它们不会改变语义。
指标包括linelength,classlength和ABC-Size等。使用静态代码分析检查指标与检查样式完全不同。例如,将最大值设置为线宽不是品味问题,而是使用它来强制执行某种编程风格。程序员必须避免使用长变量名和深嵌套来保持线长度不受限制。
指标还可以指示代码中的问题。例如,太高的ABC大小表示方法可能做得太多。
除此之外,如果不是不可能的话,自动缩短所有代码行是非常困难的,因为ruby是一种非常复杂的语言。
这里有一些替代方案,而不是自动减少线长:
rubocop --only LineLength --auto-gen-config
并使用rubocops配置停止检查linelength。