当前位置:  开发笔记 > 开发工具 > 正文

处理上帝的对象

如何解决《处理上帝的对象》经验,为你挑选了1个好方法。

我在一个中等规模的团队工作,我经常遇到这些痛苦的大班文件.我的第一个倾向是用刀子去找他们,但这通常会让事情变得更糟,让我陷入一种糟糕的心态.

例如,假设您刚刚获得了Windows服务.现在这个服务中存在一个错误,你需要弄清楚服务的作用,然后你才有希望修复它.你打开服务,看到有人决定只使用一个文件.Start方法就在那里,Stop方法,Timers,所有处理和功能.我正在谈论成千上万行代码.一百行代码下的方法很少见.

现在假设你不能重写整个班级,而这些上帝课程只会不断出现,处理它们的最佳方法是什么?你从哪里开始的?你先尝试做什么?你是如何应对这种事情的,而不只是想要全力以赴.

如果你有一些策略只是为了控制你的脾气,这也是受欢迎的.

提示远远:

    建立测试覆盖率

    代码折叠

    重组现有方法

    记录发现的行为

    旨在逐步改进

编辑:

查尔斯康威推荐一个播客,结果非常有帮助.链接

Michael Feathers(播客中的人)开头的前提是,他们太害怕简单地将一个项目从源代码控制中取出来直接玩它然后扔掉它们.我可以说我对此感到内疚.

他基本上说要把你想要了解的项目拿到更多,然后开始将它拆开.发现它的依赖关系,然后打破它们.随处可见.

伟大提示 获取在其他地方使用的大类,并使其实现一个emtpy接口.然后使用类获取代码并让它实例化接口.这将为您提供代码中该大型类的所有依赖项的完整列表.



1> Chuck Conway..:

哎哟! 听起来像我用来工作的地方.

看一下使用遗留代码有效工作.它有一些关于如何处理恶劣代码的宝石.

DotNetRocks最近做了一个关于使用遗留代码的节目.没有神奇的药丸可以使它发挥作用.

我听过的最好的建议是在测试中逐步包装代码.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有