Vim整合AStyle进行代码美化

本文介绍如何使用AStyle美化代码风格,并通过SourceMonitor检查代码质量,包括函数长度、圈复杂度等关键指标。同时,利用Eclipse进行半自动重构,提高代码可读性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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进行代码审查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值