重构其他人的源代码的礼仪?

Pru*_*der 15 c# refactoring etiquette

我们的软件开发团队由一群经验丰富的程序员组成,他们拥有各种编程风格和偏好.我们没有一切标准,只有防止完全混乱的必需品.

最近,我碰到了一位同事做的一些重构.我的代码看起来有点像这样:

public Person CreateNewPerson(string firstName, string lastName) {
    var person = new Person() {
        FirstName = firstName,
        LastName = lastName
    };
    return person;
}
Run Code Online (Sandbox Code Playgroud)

哪个被重构为:

public Person CreateNewPerson (string firstName, string lastName) {
    Person person = new Person ();
           person.FirstName = firstName;
           person.LastName = lastName;
    return person;
    }
Run Code Online (Sandbox Code Playgroud)

仅仅因为我的同事需要更新我写的一个类中的其他方法,他还"重构"了上面的方法.为了记录,他是那些鄙视句法糖并使用与我们其他人不同的括号放置/识别方案的开发者之一.

我的问题是:(C#)程序员用于重构其他人的源代码(语义和句法)的礼仪是什么?

Eri*_*ert 12

我不太关心礼貌而更关心经济学.每次代码更改都会导致大量成本:

  • 代码更改必须通过QA进行测试
  • 代码更改必须具有通过开发为其编写的测试套件
  • 可能需要记录影响用户体验的代码更改
  • 代码更改可能会引入错误; 那些显然是巨大的成本
  • 等等.

我不会梦想为任何生产质量的代码做一个小的"仅美学"改变,无论它是否是"我的".这种变化带来的好处甚至无法证明成本合理.

您可能会考虑提醒您的同事,您在编码业务中不会生成美观的代码,而这些代码在您看来都很美观,而是在经济疲软的情况下为您的公司创造利润.你不是艺术家,你是工程师,所以就像工程师一样; 所有变更都应该由商业目的来证明.


Pas*_*ent 10

我相信集体代码所有权,即代码属于项目,而不属于单个工程师.因此,只要符合项目标准,我就可以重构我写的东西.如果项目没有编码标准,那么团队应该定义一些.


Mne*_*nth 5

礼仪总是应该在团队层面上完成.因此,请与您的同事讨论此问题,然后与整个团队讨论以确定规则.

如果仅用于编码和有争议的编码样式,则通用规则可能不包含更改代码.如果将来有人必须维持你的课程,那么他通常可以改变任何事情.

定义一些基本规则,一些反模式(总是可以由你的同事重构)等等.

这些规则不必非常严格,因此不需要定义括号或类似物的放置.但在这种情况下,没有人应该为代码做好准备,其他人则认为.如果您对一件事发生冲突,请在整个团队中讨论它,为此案例创建新规则.


spe*_*der 5

如果没有编码式的指导方针/规则,他甚至可能不会意识到这种变化会引起烦恼.

也就是说,这种风格是相当不标准的,在个人层面上,我会对"重构"感到恼火,这种"重构"并没有改变代码的含义,而只是为了在他的脸上标记他的编码风格.我不确定它是否有资格作为重构.很自私.