美文网首页Metasploit Development
【译】Metasploit:代码风格小建议

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

作者: 王一航 | 来源:发表于2018-05-15 10:50 被阅读28次


    编辑器配置

    请让你的文本编辑器为你处理格式化问题,这会在我们接受你的代码的时候不那么头疼。
    绝大多数的 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 的检查项目。

    相关文章

      网友评论

        本文标题:【译】Metasploit:代码风格小建议

        本文链接:https://www.haomeiwen.com/subject/lvfjdftx.html