`
leeseon
  • 浏览: 104115 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

C++ Refactoring!

阅读更多

在上次贴的没有工具的C++手工重构一年之后,我又开始了C++的重构工作,不过这次好一点点的是,因为我需要重构的代码是VC的代码,而不再是BCB下的代码,这使得重构起来好了一点。

毕竟还是有三个工具可能选的,Visual Slick Edit好用,而且功能也很多,但在重构上去做得不太好,虽然功能很多,但是每次重构都要Parser一遍MFC的头文件,真受不它。太慢了,而且对于我的这种5000行的一个C++类,它居然要Parsing到死机,晕,服了它,不过除了这点之外,它其它的功能都还是很强的,而且10.0之后的版本看起来很爽,我喜欢。

Ref++的确是不错,不过只能用在VS.NET 2003上,Parsing也算智能,只会再第一次要分析MFC中的头文件,不过功能太少了。没有Move Method,不过一般用一下rename与extract method也不错,毕竟比VSE的move method胡做要好。

另一个Emacs下的重构工具我没有试过,因为我用Emacs的水平真的是太烂了:(

ParaSoft的C++ Test我现在还没有拿到试用的序列号,真是闷啊。

不过CppUnit对VC的支持还是不错,而且我也闲着无聊,自己做一个VC6下的MFC CppUnit Wizard来给自己用,还行。

虽然我不喜欢VC,但是毕竟业界的工具都是优先支持M$的东东,在VC下还是有很多工具可以用的,从DevPartner到Rational的全套。

有工具的日子毕竟比手工的好啊、、、

让人心烦的只是那冗长的代码,不过好在我还真有重构别人代码的爱好(怪癖),将别人的代码整理成我喜欢的样子,可能是不爱收拾东西的我做得最有条理的事了:)

分享到:
评论

相关推荐

    Filipek B. C++17 In Detail 2019.pdf

    new if constexpr, to refactoring code by applying the new optional and variant vocabulary types, to writing parallel code using the new standard parallel algorithms. In each case, the result is ...

    The ultimate question of programming refactoring

    40. 应当注意`Visual C++`中的`wprintf()`函数的行为,因为它和`printf()`在处理宽字符时有所不同。 41. 在处理文件时,不仅仅要检查EOF,还要确保确实到达了文件末尾的字符。 42. 使用专门的函数来清除私有数据,...

    C++ 类特性 多态性,继承,派生,重构 等

    重构(Refactoring)** 重构是对现有代码进行改进的过程,不改变其外部行为,而是为了提高代码的可读性、可维护性和效率。重构可能涉及提取函数、移动函数、提取类、替换条件结构为多态等操作。在C++中,良好的...

    Design Contract Example Refactoring Patterns Explained

    [Design by Contract,by Example Refactoring Design Patterns Explained Design by ntract,by Example Design Patterns Explained].zip C++初学者50个忠告中提及的资料整理[分10卷下载每卷50M].part09.rar

    Thinking in c++ 2nd V two

    - **重构(Refactoring)**:讨论了如何通过重构提高现有代码的质量和灵活性。 - **应用场景**:这些理论知识对于提升开发者的设计能力和编程思维非常有帮助,能够在日常工作中指导他们做出更明智的设计决策。 ### ...

    curtor-Refactoring.rar_Windows编程_Borland_C++_

    在这个名为"curtor-Refactoring.rar"的压缩包中,我们可以看到一系列与Windows编程相关的源代码文件,用于实现一个具有选项卡用户界面并能使用ADO(ActiveX Data Objects)存储和检索聊天记录的程序。 首先,`c...

    DebugIt (C++)

    描述中还提到了一些具体的调试概念和方法,例如断言(assertions)、日志记录(logging)和重构(refactoring)。断言是在代码中加入的一种检测机制,用于验证假设是否为真,如果断言失败,程序通常会抛出异常并中止...

    refactoring improving the design of existing code.

    标签中提及的“ajax”、“c#”、“c++”、“java”和“vb.net”都是编程语言或技术,它们与重构有关联是因为重构适用于各种编程环境。无论是在Web开发中使用Ajax进行异步通信,还是在桌面应用或者服务端开发中使用C#...

    Sublime Text 3 实现C++代码的编译和运行示例

    此外,我们还可以使用Sublime Text 3的其他功能,例如代码completion、代码refactoring、代码调试等,以提高我们的开发效率和质量。 Sublime Text 3是一个功能强大且灵活的文本编辑器,对于C++开发者来说是一个不二...

    GCC编译环境配置(VSCode).pdf

    C/C++ 插件提供了语法高亮、代码补全、代码 refactoring 等功能,而 Cortex-Debug 插件提供了调试功能。 1.3 下载 gcc-arm、OpenOCD、MinGW gcc-arm 是一个-arm 架构的编译器,用于编译 C/C++ 代码。OpenOCD 是一个...

    refactoring

    - **ReSharper C++**:对于C++项目,尽管标题提到的是C#,但这个工具在C++领域也有类似的功能。 4. **重构的最佳实践** - **小步前进**:每次重构都应保持改动小且可测试,确保每次重构后代码仍能正常工作。 - *...

    plugins4.rar

    6. **Code Analysis and Refactoring**:Eclipse的插件可能包含静态代码分析工具和重构工具,帮助开发者发现潜在问题,提高代码质量。 7. **C++标准库和框架支持**:"plugins4"可能包含了对C++11,C++14,甚至C++20...

    Visual Assist X 10.7.1940.0安装包附一键破解工具

    最新的安装包,还有破解工具,本人亲测支持VS2008、VS2010,其他未测试...Several fixes for refactoring and navigation for partially qualified symbols brought into scope with the C++ using namespace directive

    GildedRose-Refactoring-Kata:许多编程语言中的GildedRose重构Kata的起始代码

    镀金玫瑰重构卡塔 此Kata最初是由Terry Hughes( )创建的。 它已经在GitHub上。 另请参阅。 我将原始的C#翻译成其他几种语言(在我的朋友的帮助下!),并稍稍更改了开始位置。 这意味着与kata的原始形式相比,我...

    C++设计模式课件3_Template Method_模板方法.pdf

    ### C++设计模式课件3_Template Method_模板方法 #### 模板方法设计模式解析 模板方法模式(Template Method Pattern)是一种行为型设计模式,它允许我们定义算法的骨架,并将部分步骤推迟到子类中实现。这种模式...

    Software Development, Design and Coding-2nd Edition-Apress(2017).pdf

    I’m assuming that you already know how to program and that you’re conversant with at least one of these languages: Java, C, or C++. I’m also assuming you’re familiar with basic data structures, ...

    Prentice.Hall.Test-Driven.Development.A.Practical.Guide

    Test-Driven Development: A ... even introduces TDD frameworks for C++, C#/.NET, Python, VB6, Ruby, and Smalltalk. Invaluable for anyone who wants to write better code... and have more fun doing it!

    dive into design patterns(Alexander Shvets).pdf

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...

Global site tag (gtag.js) - Google Analytics