Skip to content
L edited this page May 3, 2020 · 4 revisions

排版风格

文本编辑器的配置

让你的文本编辑器负责格式, 可以在验收过程中省去麻烦. 大多数 Metasploit 贡献者使用 vim 和 gvim 作为默认的文本编辑器, 如果你有其他文本编辑器的配置, 我们很乐意看到它!

VIM 和 GVIM

将以下设置添加到你的 .vimrc 文件, 将使其符合 CONTRIBUTING.mdmsftidy.rb 指南要容易得多.

Incidentally, if you install the Janus Distribution of vim plugins, this is all done for you, and more, automatically. But, if you are a special snowflake, here's how to limp your way to code formatting excellence. 顺便说一句, 如果你安装了 vim 插件的 [Janus 发行版] (https://github.com/carlhuda/janus) , 这一切都将为你自动完成. 但下面也提供了简单轻量的编码格式方法.

    set shiftwidth=2 tabstop=2 softtabstop=2
    " textwidth 影响 `gq` which is handy for formatting comments
    set textwidth=78
    " Metasploit 应使用空格代替制表符
    set expandtab
    " 突出显示 EOL 处的空格以及混合的制表符和空格
    hi BogusWhitespace ctermbg=darkgreen guibg=darkgreen
    match BogusWhitespace /\s\+$\|^\t\+ \+\|^ \+\t\+/

如果你希望这些设置仅适用于 ruby 文件, 则可以使用 augroupautocmd 实现.

    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 把制表符显示为 ^I, 区别出制表符和空格.

Rubymine

Rubymine 默认就是标准的两个空格为缩进的, 不再需要对其进行配置.

语法和大写

尽管我们了解到世界上会阅读许多种语言, 但 Metasploit 主要是用美国英语开发的. 因此, 模块中的描述应遵循美国英语惯例. 这样做不仅可以确保大多数 Metasploit 用户的易用性, 而且还可以帮助自动 (和手动) 翻译其他语言.

标题

模块标题应参照英文大写规则: http://owl.english.purdue.edu/owl/resource/592/01/

唯一的例外是函数名称 (如 'thisFunc()') 和特定的文件名 (如 thisfile.ocx).

Clone this wiki locally