译Metasploit:代码风格小建议

2019-04-04 约 939 字 预计阅读 2 分钟

声明:本文 【译Metasploit:代码风格小建议】 由作者 王一航 于 2018-06-05 15:27:03 首发 先知社区 曾经 浏览数 4948 次

感谢 王一航 的辛苦付出!



编辑器配置

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

关键词:[‘新手’, ‘入门资料’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now