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



编辑器配置

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

VIM 与 GVIM

添加下面的配置文件到你的 .vimrc 文件中,你的代码将会更加符合 CONTRIBUTING.mdmsftidy.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 用户使用的方便,而且还可以帮助自动(和手动)翻译为其他语言。

标题

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

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

推荐阅读更多精彩内容

  • Vim 中文同步聊天室 以下为 Vim 中文用户聊天室,几个频道消息实时同步,如果想要和其他 Vim 用户一起交流...
    wsdjeg阅读 13,338评论 5 147
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 64,728评论 12 433
  • 目录(?)[-] 关于Vim 1 Vim的几种模式 启动Vim 文档操作 光标的移动 1 基本移动 2 翻屏 3 ...
    Silence_广阅读 4,255评论 0 33
  • 我亲爱的小孩 躺在我的身边 酣睡 姐姐在左 弟弟在右 像给我的人生 安上了两只翅膀 我便成为了幸福的天使 而我...
    妈妈老师是超人阅读 30评论 0 1
  • 看一个人是否能自律,不是在人群中,而是看独处时; 一人独处时,能自律,是真自律;自律贵在坚持,坚持过简单重复的生活...
    理思明阅读 30评论 0 0