coding-style - 你如何告诉别人他们正在编写糟糕的代码?

标签 coding-style

为了好玩,我一直在与一小群人一起开发一个编码项目。这是一个有组织且相当有凝聚力的团体。与我一起工作的人都拥有与编程相关的各种技能,但其中一些人使用旧的或完全错误的方法,例如过多的全局变量、糟糕的命名约定等。虽然事情有效,但实现情况很差。有什么好方法可以礼貌地要求或介绍他们使用更好的方法,而又不会让人觉得质疑(或侮辱)他们的经验和/或教育?

最佳答案

提出问题,让他们意识到他们所做的事情是错误的。例如,提出以下问题:

Why did you decide to make that a global variable?

Why did you give it that name?

That's interesting. I usually do mine this way because [Insert reason why you are better]

Does that way work? I usually [Insert how you would make them look silly]

我认为解决这个问题的理想方法是巧妙地询问他们为什么要以某种方式编码。您可能会发现他们相信其他方法也有好处。除非我知道他们的编码风格是由于错误信息造成的,否则我永远不会在没有充分理由的情况下判断我的方式更好。最好的方法就是问他们为什么选择那样的方式;一定要听起来对他们的推理感兴趣,因为这是你需要攻击的,而不是他们的能力。

编码标准肯定会有所帮助,但如果它是每个软件项目的答案,那么我们都会在天堂般的私有(private)岛屿上喝鸡尾酒。事实上,我们都容易出现问题,而且软件项目的成功率仍然很低。我认为问题主要源于个人能力,而不是惯例问题,这就是为什么我建议当问题浮出水面时作为一个团队来解决问题。

最重要的是,不要立即认为你的方法更好。事实上,可能是这样,但我们正在处理另一个人的意见,对他们来说只有一种解决方案。永远不要说你的方法是更好的方法,除非你想让他们看到你是一个自鸣得意的失败者。

关于coding-style - 你如何告诉别人他们正在编写糟糕的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/206286/

相关文章:

html - MVC2 Html 助手

java - Java 是否有 "line rule"的编码约定

c# - 编码指南+最佳实践?

c++ - 我应该为永远恒定的值创建一个全局常量变量,例如足球运动员的数量吗?

c# - 前缀 "On"在 C# 编码中的事件案例中实现了什么?

c++ - Emacs 大括号和括号突出显示?

c - 这是宏滥用吗?

coding-style - 装饰器中的 Python 命名约定

coding-style - 如何为不同的 clang-format 版本维护 .clang-format 文件?

oop - 封装: allow accessing of fields of any other than the current receiver object