C++的重构代码工具

RefactorCpp

用于Visual Studio 2005,2008

http://www.devexpress.com/Produc ... Add-in/RefactorCPP/

Java的重构代码工具

Uncle Bob的CleanCode介绍时候一直在用Mac下的IntelliJ IDEA,这工具ms可以很方便地重构Java代码

IntelliJ IDEA被认为是当前Java开发效率最快的IDE工具。它整合了开发过程中实用的众多功能,几乎可以不用鼠标可以方便的完成你要做的任何事情,最大程度的加快开发的速度。简单而又功能强大。与其他的一些繁冗而复杂的IDE工具有鲜明的对比。

IDEA

http://baike.baidu.com/view/2735945.htm

IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、 J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是 JetBrains公司的产品,这家公司总部位于 捷克共和国的首都 布拉格,开发人员以严谨著称的东欧 程序员为主。
IntelliJ IDEA是一个屡获殊荣的Java和Groovy开发环境,不过在现在Eclipse横行的世道,只剩下一些铁杆粉丝还在坚持使用此开发环境。

IntelliJ IDEA界面

IntelliJ IDEA被认为是当前Java开发效率最快的IDE工具。它整合了开发过程中实用的众多功能,几乎可以不用鼠标可以方便的完成你要做的任何事情,最大程度的加快开发的速度。简单而又功能强大。与其他的一些繁冗而复杂的IDE工具有鲜明的对比。 [1]
IntelliJ IDEA是Java语言开发的集成环境,在业界被公认为最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、 JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。以下简称IDEA。
主界面由6个主要区域组成(图中红色数字标注的)
1.菜单和工具栏
2.导航条:编辑文件时帮助定位和导航项目中的文件
3.状态栏:显示当前项目,IDEA本身的状态,还有别的一些状态相关的一些信息
4.编辑器
5.工具窗口:辅助类窗口。IDEA提供了各式各样的辅助窗口来帮助完成各种任务, 如项目管理,代码查找,版本控制等,类型eclipse中VIEW的概念,
6.工具窗口栏:位于IDEA界面的上下左右各有一个,摆放着工具窗口显示和隐藏的按键 [2]
IDEA所提倡的是智能编码,是减少程序员的工作,IDEA的特色功能有以下25点 [3]
●  智能的选取
在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA就提供这种基于语法的选择,在默认设置中Ctrl+w,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
●  丰富的导航模式
IDEA提供了丰富的导航查看模式,例如ctrl+e显示最近打开过的文件,ctrl+n显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的project视图中,你还可以选择多种的视图方式。
●  历史记录功能
不用通过 版本管理服务器,单纯的IDEA就可以查看任何工程中文件的历史记录,但版本恢复时你可以很容易的将其恢复。
●  JUnit 的完美支持
●  对重构的优越支持
IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
●  编码辅助
Java规范中提倡的tostring(),hashcode(),equals(),以及所有的get/set方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
●  灵活的排版功能
基本所有的IDE都有重 排版功能,但仅有IDEA的是人性的,因为她支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
●  XML 的完美支持
●  动态语法检测
任何不符合java规范,自己预定义的规范,累赘都将在页面中加亮显示。
●  代码检查
对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
●  对JSP的完全支持
不需要任何的 插件,完全支持 JSP。
●  智能编辑
代码输入过程中,自动补充方法或类。
●  EJB支持
不需要任何插件完全支持 EJB(6.0 支持 ejb3.0)
●  列编辑模式
用过UtralEdit的肯定对其的列编辑模式赞赏不已,因为她减少了很多很多的无聊重复工作,而IDEA完全支持该模式,从而更加提高了编码效率。
●  预置模板
预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用 比较高的public static void main(String[] args){}你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。
●  完美的自动代码完成
智能检查类中方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
●  Ant 支持
不需要任何的第三方插件。
●  不使用代码检查
自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
●  智能代码
自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij " + "IDEA"; IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为:String str = "Hello Intellij IDEA";
●  正则表达的查找和替换功能
查找替代支持正则表达,从而提高效率。
●  JavaDoc 预览支持
支持JavaDoc的预览功能,在JavaDoc代码中ctrl+q显示JavaDoc的结果,从而提高doc文档的质量。
●  程序员意图支持
程序员编码时IDEA时时检测你的意图,或提供建议,或直接帮你完成代码。
最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。
其他编辑功能抛开不看,这点远胜Eclipse。
首先查看Map类型的对象,如果实现类采用的是哈希映射,则会自动过滤空的Entry实例。 不像Eclipse,只能在默认的toString()方法中寻找你所要的key。
其次,需要动态Evaluate一个表达式的值,比如我得到了一个类的实例,但是并不知晓它的API,可以通过Code Completion点出它所支持的方法,这点Eclipse无法比拟。

最后,在 多线程调试的情况下,Log on console的功能可以帮你检查多线程执行的情况。

转载于:https://my.oschina.net/alphajay/blog/152327

IntelliJ IDEA for CleanCode相关推荐

  1. intellij idea 常见遇到的问题整理

    1.intellij idea 控制台下的中文乱码 其实这个问题解决起来也很简单,打开File->Settings->Editer->File Encoding,将IDE Encod ...

  2. IntelliJ IDEA快捷键汇总_java

    20210327 非常好用 可以自定义模板快捷键 (注:有些操作的快捷键做了更改,和IntelliJ Idea默认的快捷键不一样) 动作 快捷键 说明 Move Caret to Code Block ...

  3. 使用最新版(2020)IntelliJ IDEA 新建 Spring Boot 2.0 项目

    使用最新版(2020)IntelliJ IDEA 新建 Spring Boot 2.0 项目 一:创建项目,并添加相应依赖 新建Project,并指定Project为Spring Initializr ...

  4. 使用最新版(2020)IntelliJ IDEA 创建Servlet项目

    一:选择左上端的File,创建Project,选择创建Web Application 项目: 注:不勾选Create web.xml 二:设置项目名称:helloworld,并创建一个Servlet( ...

  5. IntelliJ IDEA下自动生成Hibernate映射文件以及实体类

    转自:https://blog.csdn.net/qq_34197553/article/details/77718925 1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建 ...

  6. IntelliJ IDEA 教程

    IntelliJ IDEA 教程 转自:http://blog.csdn.net/qq_35246620/article/details/61191375 1 简介 IntelliJ IDEA(简称 ...

  7. 【Intellij IDEA】eclipse项目导入

    [Intellij IDEA]eclipse项目导入 转载于:https://www.cnblogs.com/hfultrastrong/p/7645006.html

  8. IntelliJ IDEA 的Project structure说明

    IntelliJ IDEA 的Project structure可以在File->Project structure中打开,同时,在新建项目是IDE一般用向导的方式让你填写Project str ...

  9. zookeeper -- Mac 上 Intellij IDEA 配置 zookeeper(3.5.8) 源码阅读、运行、调试环境

    近期需要整理MIT6.824 中 分布式系统协调服务 zookeeper 的一些知识,想要在Mac 本地搭建一个可以方便运行调试的zookeeper环境,这玩意竟然耗费了一上午的时间,实在是不可忍:当 ...

  10. NodeJS入门--环境搭建 IntelliJ IDEA

    NodeJS入门–环境搭建 IntelliJ IDEA 本人也刚开始学习NodeJS,所以以此做个笔记,欢迎大家提出意见. 1.首先 下载安装NodeJS,下载安装IntelliJ IDEA 2.接下 ...

最新文章

  1. 如何限制HTML5“数字”元素中的可能输入?
  2. Ubuntu15.10安装XAMPP
  3. matlab 正在等待响应标头。可能服务器没有响应,或者 weboptions.Timeout,Expect:100-continue
  4. 交叉熵损失函数原理详解,KL散度
  5. CVPR 2022 | 针对目标检测的重点与全局知识蒸馏(FGD)
  6. vue使用dialog关闭前调用_element-ui的dialog如何关闭自身?
  7. wordpress函数技巧
  8. win10 html css,Win10创造者更新:Edge支持CSS自定义属性
  9. linux系统堆栈内存分配,Linux中堆栈内存在物理上是连续的吗?
  10. 串口之COMMTIMEOUTS结构体
  11. 鞋店商城小程序开发价值
  12. 利用电影直播赚钱的方法(几乎零成本、很多人不知道)
  13. excel查询mysql数据库表,?如何通过Excel查询MySQL数据库
  14. H桥——电机控制电路
  15. 【专家视点】公域流量的尽头:数字营销回归商业本质(20页精品PPT下载)
  16. mysql中的ip存储与查询
  17. 地理思维导图怎么画?五步教你思维导图画法
  18. 基于matlab的Hough变换图像直线检测算法仿真
  19. java中的Int范围
  20. video.js插件播放hls、rtmp

热门文章

  1. Ext 3.1版本放出,可以免费下载了
  2. Linux有待提高的七个领域
  3. 学校的图书馆,很漂亮哦
  4. 测试怎么保障软件的的质量,如何保障软件测试的质量
  5. 构建 Netflix 分布式追踪(tracing)体系
  6. Vue条件渲染(v-if和v-show的区别)
  7. 判断是否是完全二叉树_二叉树:我对称么?
  8. Oracle删除重复记录三种方法
  9. python中size的用法_PyArray_SIZE的正确用法是什么?
  10. Layui在表格中无法显示进度条(layui-progress)的值