你刚刚写了一堆的代码,以提供一些重要特征受到压力。你一切的几个角落,你泥一些代码成一些过度臃肿的课程的名称,如SerialIndirectionShutoffManager..

你告诉你的老板你需要一周的干净这些东西了。

"干净的什么?"

"我的代码-它是一个猪圈!"

"你的意思是有一些错误固定?"

"不是真的,它更像是.."

"你会让它跑的快一点吗?"

"也许,但是那不是.."

"那么你应该已经写得当时你有机会。现在我很高兴你在这里,是啊,我得去问问你的到来,在这个周末.."

我读了马丁*福勒的书,但我不知道我同意他的建议就此事项:

  • 鼓励正常的代码评论,因此重构的工作是鼓励作为一个自然的部分的发展进程。
  • 只是不告诉你是开发商及其一部分的你的责任。

这两个方法不安的需要进行管理。

你怎么告诉你的老板吗?

有帮助吗?

解决方案

这是重要的,包括重构,时间在你原来的估计数。去你的老板在你后已经交付的产品,然后告诉他,你实际上不做的就是躺在有关正在做。你没有实际上使该交付的最后期限。这就像外科医生做的手术,然后不确定他把一切都回到它应该是。

重要的是包括所有部件的开发(例如重构、易用性研究、测试、质量保证,修订),在你原来的日程表。最终,这并不是一个管理问题作为一个程序问题。

但是,如果你已经继承的一团糟然后你将要解释的老板,最后一组的程序员急于得到该项目的门口偷工减料和它一直举步维艰。你可以带援助的问题一段时间(因为他们可能没有),但是每一带的援助只是拖延的问题,并最终使得问题更加昂贵的修复。

老实跟你的老板,了解这一项目不这样做,直到它的完成。

其他提示

讲一种语言,他可以理解的。

重构为支付设计的债务。

问你的老板为什么他支付该公司的信用卡账单每月vs不支付它,直到有一个集通知。告诉他重构是喜欢做你的每月付款。

只要做到这一点,并安排它入您的正常过程。估计的重构的时间到开始一个新的改变或完成一个变化(理想的).我总是进行重构,同时,我最初探索新的码(提取方法,等等)。

谎言。告诉他,这是研究新的技术。然后告诉他你决定的成本没有理由的好处。他会认为你没有大量的工作。

笑@人向下改装/标记的进攻。

真的,如果它的一分钱捏老板,他不理解良好的软件,从便宜的软件,他不知道最终将会让他快乐。如果是我,我会离开公司去某个地方在那里他们相对于他们开发人员的能力,编写好的代码。但话又说回来,这就是为什么我在一个高级职位。

告诉他,80%的相关费用一个软件项目,在维持阶段的生命周期。任何重构现在所做的缓解未来的问题,并有一些例子,将会净重大的成本效益以后需要时到维持,代码。

这是假设你们的重构有原因的,不为程序的虚荣心。

重构你应该做的所有时间。。。。所以你不应该证明它。

清理大混乱/重新设计可包括进行重构,以便让它在控制之下,但是它不是"重构"

重构应该是瞬间的事...或者如果你有没有工具的支持,分钟。

在一个罗伯特*玻璃最近的书籍(我会查找参考),他提到一项研究在成本上保持良好的代码。他们发现了什么是保持良好的代码行编辑往往比维护不良的代码。这听起来反直觉的但是当他们挖的更深层次所发现的原因:

保持良好的代码有更多的功能,增加它在同一时间框架于维护不良的代码。

你的老板不会喜欢的特点?当然,他们都这样做。如果您更完善的维护性代码的更多的功能,你将能够提供用于有限的预算。

我喜欢的答复中给出的"重构",由马丁*福勒.告诉你老板,你要开发的软件的最快的方式这你知道如何。它发生在大多数情况下以最快的方式来制定软件是"重构"。

其他的事情告诉你的老板你是降低成本,使今后的改进。

更少的钱现在给我重构...

或更多的钱后来,以修复任何错误,并对我来说重构。

有时候,它只是时间来获得一个新的工作。有某永世谁只是想让你"得到它完成"。如果你曾经在这些情况之一,我去过那里,然后就离开。

但是,所有其他的东西关于未来成本,这样是不错的主意。我只是认为大多数老板骗自己,因为他们想要什么他们想要时,他们想要的,他们只是不能看到什么事情发生的未来。

那么,祝你好运与你的老板。Hpefully他或她是合理的。

我觉得你应该开始在它的工作没有告诉你的老板。这是真的我已经做了我最好的工作。我只是不告诉我老板我在做什么慢慢地更换损坏/遗产码的时候我有时间。

它实际上保存我的屁股在多个场合。

如果你的老板并不明白需要进行重构,或干净的代码,然后你必须知道如果他有足够的工程知识是一个工程经理。

很难找到一个老板,他们会给你时间到"重构"...只要做你走。

在我看来,最简单的情况下,使用重构是固定的过于复杂的代码。测量麦凯循环的复杂性源代码的问题(源监测是一个极好的工具,对于这样一个问题)。源代码,与高圈的复杂性具有很强的相关性缺陷的和坏的修复。这意味着什么简单的术语是复杂的代码是难以解决,并更有可能有不良的修正。这意味着什么要一个经理的质量的产品可能会更糟的是,和虫子更难以解决,并计划为该项目最终变得更糟。然而,在重构的复杂性,你是提高透明度代码,减少可能的混淆/困难的错误,并使其更易于维护(例如维护程序可以有更大的维护范围,因为此)。

此外,还可以使情况下(如果它是不是一个死产品在维护周期),减少复杂性使用更易于扩展当有新的要求添加到项目中。

老板有信任的开发,以做出正确的技术决定(包括当重构).

建立这种信任或更换老板或替换的开发。

另一个很好的比喻是维护一个整洁的网站建设。只有抓住这是一个程序并不代表一个建筑工人和管理并不代表一个工头.如果是这种情况下,他计数器"做对了第一次"将仍然适用,因为一个有能力和良心的建筑工人的工作是负责维持良好的秩序在自己的工作空间,因为他们去。

真的 本身的代码 表示劳工和发展进程的领班。的混乱所产生的各种交易对他们的业务的其中一个围绕着另一个(即通过不同的代码功能的相互作用,其中每一要素,它的工作很好,但是接缝它们之间的混乱)和清除由工头采取坚定手并保持眼睛在哪里,障碍是设置和作用得到它清除(即该软件处理要求重构).

什么我只是没有最近被解释为我的商业对手,重新工厂进程有助于发展新的功能更快和降低概率的新的错误的,因为码有一个更好的顺序和结构,并且甚至更多钞票,使一些加速改进,因为你可以检查代码比以前更容易。

当商业伙计们得到的是,如果他们是聪明的,他们将鼓励你去做一个不断重新工厂的进程。

你可以解释说,与建设一个比喻。如果你不做的重构你最终会有一个蹩脚的建设与一个糟糕的核心,这样你就有问题与管道、窗户、门。

不要....只是去拿一个新的工作在一个地方,这就是更加同步。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top