Vim整合AStyle进行代码美化
来源:互联网 发布:宁波邦元单片机 编辑:程序博客网 时间:2024/05/22 05:37
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 lineNumendfunc"映射代码美化函数到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进行代码审查
0 0
- Vim整合AStyle进行代码美化
- Vim整合AStyle进行代码美化
- astyle linux美化代码
- vim+astyle 格式化代码
- 使用astyle进行代码格式化
- 使用AStyle进行代码格式化
- vim+Vundle+vim-autoformat+astyle格式化代码
- Qtcrreator 4 (Qt5.7) on rhel 7 x86_64 添加配置astyle,美化代码配置方法
- 使用astyle格式化代码
- 代码格式化工具---astyle
- 使用astyle格式化代码
- astyle整理代码格式
- AStyle代码格式工具
- 代码格式化工具Astyle
- astyle代码格式化工具
- 使用Builder模式进行美化代码
- 如何在Keil中添加AStyle对代码进行格式化处理
- 如何在Keil中添加AStyle对代码进行格式化处理
- sql基本查询———增量
- 信号量 Linux函数 semget();semctl();semop();
- The given node was not created by the current document
- 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
- myeclipse自动关闭问题
- Vim整合AStyle进行代码美化
- 第1章第2节练习题10 查找指定倒数结点
- fragment调用方法isadded()、isvisible()
- Android studio AIDL详解
- CSS Media Query
- 广搜与优先队列-----POJ2312
- laravel5中间件的使用例子
- MessageUI(发送短信)
- 嵌入式启动定时任务代码