Jun*_*Ito 18 ruby coding-style ruby-on-rails
当我使用C#或Perl时,有一些有用的工具,如StyleCop,FxCop,Perl :: Critic和Perltidy.他们可以自动检查或格式化我的代码.那么,Ruby或Rails有没有相同的工具?我在谷歌上找到了一些工具,但我觉得它们不经常维护.
N.N*_*.N. 24
我尝试过两种不同的工具:rubocop和Cane.在测试中,我发现rubocop提供的警告几乎是手杖的两倍(并且rubocop报告了Cane报告的所有内容).所以,我推荐rubocop.
rubocop是一个
基于Ruby样式指南的 Ruby代码样式检查器.
您可以将其安装为gem:
gem install rubocop
Run Code Online (Sandbox Code Playgroud)
(以上可能需要sudo根据您的设置为命令添加前缀.)
通过从命令行运行具有相同名称的命令来使用rubocop.如果您提供文件作为参数,rubocop会检查这些文件.如果您提供目录作为参数rubocop以递归方式检查目录中的Ruby文件,即在给定目录及其所有子目录中.如果不提供参数,则以递归方式检查工作目录.
这是一个例子.给出以下文件
say="I am not in style"
puts(say)
['cow','cat','cake'].each{|i| print i+' '}
Run Code Online (Sandbox Code Playgroud)
robucop报告如下:
$ rubocop ~/test/rubocop.rb
== /home/nn/test/rubocop.rb ==
C: 1: Missing encoding comment.
C: 1: Surrounding space missing for operator '='.
C: 4: Surrounding space missing for operator '+'.
C: 4: Surrounding space missing for '{'.
C: 4: Space missing to the left of '}'.
C: 4: Space missing after comma.
C: 4: Space missing after comma.
C: 1: Prefer single-quoted strings when you don't need string interpolation or special symbols.
1 files inspected, 8 offences detected
请注意,rubocop可以输出Emacs可以通过该-e选项解析的警告.
Cane是一种检查代码风格的工具.它可以与Rake集成.
您可以将其安装为gem:
gem install cane
Run Code Online (Sandbox Code Playgroud)
(以上可能需要sudo根据您的设置为命令添加前缀.)
要使用它,请运行cane要检查的目录或文件.
And*_*imm 11
在Ruby工具箱中列出了一些样式检查器,网址为https://www.ruby-toolbox.com/categories/code_metrics.
此外,打开警告可以检查某些类型的错误代码.有这样做$VERBOSE = true或通过的方式之一列在这里.
| 归档时间: |
|
| 查看次数: |
10187 次 |
| 最近记录: |