Coding style 如何让你更有经验和权威的队友不去创造';快速临时解决方案&x27;?

Coding style 如何让你更有经验和权威的队友不去创造';快速临时解决方案&x27;?,coding-style,Coding Style,我目前正在做一个短命的小项目。但尽管规模庞大,但逻辑却非常不明确。这就是为什么它是由更有经验的开发人员启动的。他们会时不时地做这件事,因为这不是他们的主要项目 他们在许多地方起草了一些代码草案,这些代码“将在最近的将来被重写”。之后,他们又添加了几个“临时件”。然后再一次 因此,现在的项目是一堆“半工作”代码,带有一些硬编码的值,比如文件名或一些常数,这些常数“将被工作部分替换”。API很糟糕(实际上没有人考虑它) 现在做开发真的很难(对我来说这是主要的也是唯一的项目)。我发现自己在想,我每天花

我目前正在做一个短命的小项目。但尽管规模庞大,但逻辑却非常不明确。这就是为什么它是由更有经验的开发人员启动的。他们会时不时地做这件事,因为这不是他们的主要项目

他们在许多地方起草了一些代码草案,这些代码“将在最近的将来被重写”。之后,他们又添加了几个“临时件”。然后再一次

因此,现在的项目是一堆“半工作”代码,带有一些硬编码的值,比如文件名或一些常数,这些常数“将被工作部分替换”。API很糟糕(实际上没有人考虑它)

现在做开发真的很难(对我来说这是主要的也是唯一的项目)。我发现自己在想,我每天花大约一个小时的时间只是为了再次理解所有那些棘手的“临时”事情和API弱点。在那一小时之后,我的大脑融化了


我不能只说“伙计们,你们的代码闻起来像垃圾堆”。正确的方法是什么?

推动正式代码审查流程的实施。那么他们一开始就不敢写这样的代码。我建议使用一个协作工具,比如SmartBear的CodeCollaborator或free ReviewBoard。
就像人们知道警察在监视时开得慢一样,如果他们知道有人在看代码,他们会写出更好的代码。

似乎最终的问题是他们在写代码,而不对代码的质量负责

如果这违背了组织的文化,那就是让别人知道情况的问题。如果开发人员不知道,并且有一点同理心,我会和他们一起回答“我不太理解这个。你能花几分钟时间陪我看一下吗?”。他们很快就会意识到他们在对你做什么,优秀的程序员会调整他们的做法。这可能还必须通过管理层次结构来完成——“为了在项目X上取得进展,我需要程序员花费Y小时的时间来有效地使用他们的代码。”它要么发生,要么引发一个“为什么”的对话,从而导致改变

如果这是组织的文化,那是不幸的。这可能意味着编写代码的程序员不关心,管理层也不关心。这是一个政治问题——谁最有能力和/或最有兴趣看到这一变化?找到盟友,尽你所能继续前进。与开发人员坦诚对话可能是最好的选择,因为他们是有能力改变的人,没有其他人会诱使他们改变,所以直接问吧


希望这能有所帮助。

这些“其他开发人员”是否不再参与该项目?如果是的话,你是主要的工作人员吗?如果这两个问题的答案都是“是”,那么这个项目就是你的了。开始进行增量改进,使其更具可读性

您可能还希望向没有参与该项目的更有经验的开发人员展示代码。看看他们是否同意代码很难维护。建议你的老板留出一些时间来“完成”临时工作,并使其达到可维护的程度

如果您想防止这种情况再次发生,那么实现正式的代码审查过程也是一个好主意

请记住,这可能不是其他开发人员的错。有时,人们被告知要花最少的时间,或者被告知代码将被丢弃。

如果它真的是一个“短命”的项目,那么很快代码质量将变得无关紧要。你说的“短命”到底是什么意思?通常,“拥有一个API”和“生命短暂”并不是一回事。