refactoring

    9热度

    5回答

    我一直在试图学习如何添加测试到现有的代码 - 目前阅读阅读Working Effectively With Legacy Code。我一直在尝试应用JavaScript中的一些原则,现在我试图提取一个接口。 在寻找在JavaScript中创建接口,我找不到很多 - 我发现有关继承,似乎他们有几种不同的方式。 (有些人创建了自己的基类来提供有用的方法来使继承更容易,一些使用函数,一些使用原型)。 什

    1热度

    3回答

    嗨,大家好请你帮我重构这个,所以它是明智pythonic。 import sys import poplib import string import StringIO, rfc822 import datetime import logging def _dump_pop_emails(self): self.logger.info("open pop account %

    7热度

    5回答

    我正在尝试使用工具进行自动代码审查和重构。在FxCop或ReSharper的行中。 寻找符合这些要求的工具,建议: 低的学习曲线。针对C#(也许VB.NET)。 让我们轻松添加或自定义规则(并理解整个CodeDOM)。 有据可查。 免费或低价便宜。 对不起,低汇率=) 手动代码审查仍将完成。但是该工具应该足够彻底,以便在高级开发人员进行手动审查之前捕获所有常见的嘘声。 如果您有故事可以分享您使用过

    6热度

    5回答

    我有这个Perl脚本与许多定义的常量的配置文件。例如: use constant { LOG_DIR => "/var/log/", LOG_FILENAME => "/var/log/file1.log", LOG4PERL_CONF_FILE => "/etc/app1/log4perl.conf", CONF_FILE1 => "/etc/

    1热度

    6回答

    我刚刚着手我的第一个大规模重构,并且需要将一个(不幸的是)大类拆分为两个,然后只通过一个接口进行通信。 (My Presenter原来是一个Controller,需要从App逻辑中分离GUI逻辑)。在VisualStudio 2008和Resharper中使用C#,实现它的最简单方法是什么? 我要尝试是 一)收集成员为新类和“提取新的类” 二)清理造成混乱 三)“提取接口” d)追捕到任何引用并将

    0热度

    2回答

    我已经开始使用Jython,因为它似乎是一种优秀的语言,并且已被证明是迄今为止。 我正在使用dom4j来处理和检索我在磁盘上的一堆HTML文件的DOM中的数据。我已经写了下面的脚本来检查扔DOM使用Xpath H1标签和抓取文本,如果H1标记不存在于DOM中,它然后搜索标题标记并从中抓取文本。 我对Jython非常陌生,但我确信有办法执行比以下方法更优雅的所需任务,如果我正确地思考这个问题,是否有

    1热度

    1回答

    我一直在研究Eclipse插件项目一段时间,并且遇到了需要将项目拆分为单独测试的情况来自插件包的案例。我使用git作为版本控制。 要简单地说明这一点,我的版本旧的项目是这样的: workspace/ | +-- myplugin/ | +-- .git/ <-- Here be the git repository | +-- /

    8热度

    3回答

    静态字段我有以下的遗留代码: public class MyLegacyClass { private static final String jndiName = "java:comp/env/jdbc/LegacyDataSource" public static SomeLegacyClass doSomeLegacyStuff(SomeOtherLegacyClas

    1热度

    1回答

    我一直在寻找一个好的PHP ORM工具来使用,并且我最近在Kohana中找到了一个好的ORM类。它有一个相当不错的和简单的ORM实现。问题是,在没有重写/重构的情况下,Kohana框架之外的代码是无法使用的。它依赖于Kohana类加载器和各种框架加载策略,甚至可以在第一时间工作。此外,所需的类不会打包到单个依赖目录中,甚至不会包含多个目录。 当我做这个重写时,我打算通过sourceforge或其他

    25热度

    8回答

    我听说使用TDD开发的项目更容易重构,因为这种做法产生了一套全面的单元测试,如果有任何更改破坏了代码,它们(希望)会失败。然而,我所看到的所有例子都涉及重构实现 - 例如,用更高效的算法改变算法。 我发现重构架构在设计仍在制定的早期阶段更为常见。接口改变,新的类被添加删除,甚至一个函数的行为可能会稍微改变(我认为我需要它来做到这一点,但它实际上需要这样做),等等......但是,如果每个测试案例是