您的位置:首页 > 编程语言

Vim整合AStyle进行代码美化

2016-01-12 14:19 381 查看
1、AStyle格式化代码

安装AStyle,并把bin目录加入环境变量中

在vimrc中加入以下设置代码

"调用AStyle程序,进行代码美化
func CodeFormat()
"取得当前光标所在行号
let lineNum = line(".")
"C源程序
if &filetype == 'c'
"执行调用外部程序的命令
exec "%! astyle -A3Lfpjk3NS\<CR>"
"H头文件(文件类型识别为cpp),CPP源程序
elseif &filetype == 'cpp'
"执行调用外部程序的命令
exec "%! astyle -A3Lfpjk3NS\<CR>"
"JAVA源程序
elseif &filetype == 'java'
"执行调用外部程序的命令
exec "%! astyle -A2Lfpjk3NS\<CR>"
else
"提示信息
echo "不支持".&filetype."文件类型。"
endif
"返回先前光标所在行
exec lineNum
endfunc
"映射代码美化函数到Shift+f快捷键
map <S-F> <Esc>:call CodeFormat()<CR>
2 SourceMonitor:识别坏味道

解决了代码风格后,是否就可以算做漂亮的代码了呢?

要知道再漂亮的衣服穿到胖子身上,也漂亮不到哪去(阿门,原谅我吧)。对于代码来说,符合代码风格只是第一步,漂亮的代码还要易于理解。让人容易理解的话,单个函数的代码行就不能太长,嵌套层数就不能太多,分支条件判断不能太多。这些工作不是代码风格能解决的。我们需要能够自动检查代码质量的工具-SourceMonitor。

SourceMonitor是一款代码质量检查的软件。能够检查文件中函数的个数,每个函数的代码行数,注释比例,函数的调用深度,圈复杂度等。

其中需要最关键的是每个函数圈复杂度和每个函数的代码行数。圈复杂度是指函数中可独立执行的路径,因此函数中每出现一次if/else/while,switch/case/break等,圈复杂度就加1.圈复杂度越高,说明函数中可执行的路径越多,也就越复杂。超过一定值如(15或者10)以后就要考虑能否将函数重构了。此外一个函数的代码行数如果太长,不能一屏显示的话,不容易让人记住和理解,也需要对该函数进行提炼。

3 Eclipse的半自动重构

利用SourceMonitor找出需要重构或提炼的函数后,难道又要我手工重构吗,有没有重构的工具呢?全自动的目前还没见过,如果有同学见到,请留言。相比来说,半自动的重构工具还是比较多的,Eclipse中就有一个重构菜单,提供函数提炼,变量或方法重命名等不少基础的重构功能。

Eclipse的半自动的重构能减少人工重构的错误,降低开发人员所耗费的精力,这也是为什么一个我作为C/C++程序员越来越喜欢Eclipse的原因。

4、VisualStdio可以使用StyleCop进行代码审查
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: