【译】Metasploit:代码风格小建议


  • 原文地址:https://github.com/rapid7/metasploit-framework/wiki/Style-Tips
  • 译者:王一航 & Google 2018-05-15
  • 校对:王一航 2018-05-15

编辑器配置

请让你的文本编辑器为你处理格式化问题,这会在我们接受你的代码的时候不那么头疼。
绝大多数的 Metasploit 贡献者在使用 vim 和/或者 gvim 作为他们的默认编辑器。
如果你有一些其他的编辑器的配置的话,我们非常乐意看到你分享出来!

VIM 与 GVIM

添加下面的配置文件到你的 .vimrc 文件中,你的代码将会更加符合 CONTRIBUTING.md 和 msftidy.rb 指南中的要求。

顺便提一句,如果你安装了 Janus Distribution 这个 vim 的插件,那么下面配置文件中的工作将会被这个插件自动化地完成。但是如果你是一个特殊的雪花(译者注:可能是完美主义者的意思?),那么下面的操作就可以让你的代码有非常完美的格式。

set shiftwidth=2 tabstop=2 softtabstop=2
" textwidth 这个配置项会影响 `gq` 命令,这对格式化注释非常方便
set textwidth=78
" Metasploit 要求使用 空格 代替 制表符
set expandtab
" 高亮每一行结尾(EOL,end of line)的空格,并且将 制表符 与 空格合并
hi BogusWhitespace ctermbg=darkgreen guibg=darkgreen
match BogusWhitespace /\s\+$\|^\t\+ \+\|^ \+\t\+/

如果您希望这些设置只对于 Ruby 文件生效,您可以使用 vim 的 autogroupautocommands 功能。

if !exists("au_loaded")
    let au_loaded = 1
    augroup rb
        au FileType ruby set shiftwidth=2 tabstop=2 softtabstop=2 textwidth=78
        au FileType ruby set expandtab
        au FileType ruby hi BogusWhitespace ctermbg=darkgreen guibg=darkgreen
        au FileType ruby match BogusWhitespace /\s\+$\|^\t\+ \+\|^ \+\t\+/
    augroup END
endif

你也可以使用 :set list 命令来将所有空格视为不同的字符,以便更容易看到错误的空白。

Rubymine(译者注:Jet Brains 出品)

鉴于切换到使用标准Ruby缩进,RubyMine 不再需要特殊配置。 两个空格替换制表符妥妥的!

语法与大小写

虽然我们了解世界上有很多种语言,但Metasploit主要是以美国英语开发的。因此,模块中的描述语法应当符合美国英语的语法惯例。这样做不仅可以确保大多数 Metasploit 用户使用的方便,而且还可以帮助自动(和手动)翻译为其他语言。

标题

模块标题应该像文章的标题一样容易阅读。 有关英文的大写规则,请参阅:

  • http://owl.english.purdue.edu/owl/resource/592/01/

唯一的例外是函数名称(例如:thisFunc())和特殊的文件名称(例如:thisfile.ocx)。
模块标题应该被良好设计,所以第一个和最后一个词都以大写字母开头,因为这是 msftidy.rb 的检查项目。

你可能感兴趣的:(【译】Metasploit:代码风格小建议)