当你是新人并且你一直看到愚蠢的事情时 - 你会重构它们吗?

Dus*_*etz 0 social refactoring

当你看到这样的事情时你会重构吗?或者你只是插上鼻子继续前进?

    public Collection<DataValidationRuleBase> GetFieldValidationRules(String key)
    {
        Collection<DataValidationRuleBase> found = null;
        try
        {
            this.mRules.TryGetValue(key, out found);
        }
        catch (ArgumentException ex)
        {
            //log the error
            Log.Error(ExceptionHandling.BuildExceptionMessage(ex));
            return null;
        }
        return found;
    }
Run Code Online (Sandbox Code Playgroud)

wom*_*omp 31

如果你是新人,那就继续吧.

如果你开始成为一名牛仔并在整个地方重构一些东西,特别是如果它与你正在做的事情无关,那么就不太可能看好.即使你"知道"它会改进代码库,你可能会觉得自己"主动",第一次搞砸它并在之前工作的代码中引入一个错误,它对你来说会非常糟糕.

我会记下您认为需要重构的所有事情,当您建立自己的声誉并信任公司时,您将有更多回归和改进的余地.

  • 无论何时你都没有准备好问为什么以特定的方式完成,这是一个很好的建议.因此,新的管理者,新的程序员经常进入并想要改变他们认为效率低下的东西,而不是费心去了解事情已经成为现实的原因. (20认同)

Nei*_*l N 12

糟糕的程序员:

重构它,检查它,然后继续前进而不说一句话.

优秀的程序员:

"嘿Neil,我遇到了这个方法,并且想知道为什么它是这样编写的......这里的返回null似乎是多余的,请注意,如果我放弃它来清理代码一点点?或者是否有一个特定的原因你写了它像那样?"

  • 他们说沟通能力很少见... (2认同)

Omu*_*Omu 10

如果它正在工作然后就这样离开它,你永远不会知道如果你改变东西会发生什么


Jas*_*ams 8

没有充分理由不要改变工作代码.

如果您认为某些代码存在问题,请将其指向您的团队负责人,并让他决定如何处理该代码.

原因:

  • 你不知道为什么原来的程序员做了些什么.这可能是白痴,或者他们可能有充分的理由去做.这可能是你是白痴,并没有掌握一些细微的代码(虽然其他程序员应该清楚地评论它,如果是这样的话!)

  • 对代码的任何更改都需要重新测试,并且可能会在其他工作代码中引入新的错误.这不应该阻止我们重构以提高代码质量,但我们不应该在不仔细考虑的情况下改变我们认为错误的一切.

  • 如果你"纠正"其他人的代码,你很有可能与你的队友产生怨恨和编码"战斗".

  • 你的团队负责人可以适当地处理它(让原来的程序员去完成任务,给团队讲课,或者让他们安静地修复等等),而不会让任何人知道你"指责"他们.并且你会得到你的老板指出这个缺陷的褐色点...除非这是他的代码:-)

(您还可以检查源代码管理以查看谁编写了代码)


小智 5

删除任何标识您公司(或以前的编码员)的内容并将其发送给The Daily WTF :)