承包商改变代码风格

Wys*_*wyg 8 c# coding-style

我目前支持的工作应用程序最初由一个四人小组编写,但现在已经减少到仅仅我.我们最近有一个承包商,在我忙于其他事情的时候看一些性能问题.

虽然承包商似乎在表现上做得很好,但他们也经历了大量的代码,取代了原有的风格,并取决于他们的个人偏好.

遗憾的是,我们没有编码标准文档,只是遵守c#一般规则的一般规则.

作为他们所做的一个例子,它包括:

  • 删除几乎所有'var'关键字的用法
  • 在任何带有if语句和单行的地方,他们都添加了花括号
  • 删除大多数lambdas并用更详细的代码替换它
  • 更改方法签名,以便每个参数都在一条单独的行而不是一行

我们还运行TDD策略,但测试覆盖率,特别是性能特定部分的测试覆盖率非常低,几乎没有关于它们已经改变的文档的记录,并且因为它们的签入注释不是特别有用而且实际的功能变化使它变得更难在大量的'调整'中迷失了.

我如何与承包商讨论此事?显然,由于他们没有责任支持该项目,因此他们没有太多动力来改变它,他们似乎并不特别容易接受改变.

或者我应该在合同的短期内忍受它,然后将所有内容更改回我们之前使用的代码格式?

制作社区维基'cos在这里可能没有一个正确的答案.

小智 9

在任何带有if语句和单行的地方,他们都添加了花括号

这一个也是唯一一个可能是有益的.

  • 删除几乎所有'var'关键字的用法
  • 删除大多数lambdas并用更详细的代码替换它
  • 更改方法签名,以便每个参数都在一条单独的行而不是一行

这些改变没有多大意义.

告诉他他没有授权重新编码.你不会为这些活动浪费的时间付出代价,他们将不得不用自己的时间把东西放回去.这应该提供一个茶点.

这些事情应该提前讨论.您应该清楚地说明允许的活动和不允许的活动.不久前,还有另一个类似的问题,一个承包商将他的首字母全部放在包括数据库实体在内的代码上.这是一种反常的自我推销,其他人的代码中没有任何地方.

PS也许有可能通过做所有这些事情,你的承包商人为地创造额外的工作量来为你花费更多时间.

  • @WDuffy:在嵌套的if/else语句中,很容易将代码行分配给错误的语句,这是一个流行的问题来源.另外,当添加第二行时,很容易忘记没有括号它本身,不属于if/else语句.只是一个预防措施. (4认同)

小智 5

我是一个承包商(有时),如果我这样做,我希望能以极快的速度展示门,不付款.说真的,这个人是由你雇用的,应该完全按照他的要求去做,不多也不少.并且不要担心"好" - 承包商不要期望来自敌人.