我与印度的几位开发人员合作,我们最大的困难之一是他们对变量的命名。起初我非常沮丧,无法理解为什么他们不会恰当地命名事物(是懒惰吗?)但是,我意识到他们可能不习惯命名变量,因为他们读取的所有代码都在英语和他们阅读的英语单词对他们几乎没有意义。现在看来显而易见,但如果你不能充分理解英语,就不可能很好地命名变量。
如何与外语团队成员一起努力改善命名行为?
很抱歉,如果这有点主观,我已将其标记为社区维基。
谢谢!
答案 0 :(得分:12)
更改团队成员的要求 - 他们必须充分了解书面英语。
回应Bill K的评论编辑:,在我看来,处理不良沟通问题的成本并没有计入储蓄计算中。不,我从未与海外开发人员合作,但我与2名非英语母语人士合作,有时与他们沟通的速度有点慢,尽管他们都在美国生活了20年。
另外,我没想到我的回答是最有用的。只是想说明问题。如果你不雇佣某人在你的办公室工作,那你为什么要雇用他们从全球另一边为你工作?即使你正在经历一个代理机构,你也间接地雇用了每个开发代码的开发人员。
我的经验是,当涉及到开发人才时,便宜可能会非常昂贵。
答案 1 :(得分:7)
您可以将'变量命名'作为每个代码审核的主题。事实上议程项目可以很容易讨论。您可以使用讨论来衡量他们是否理解他们想要实现的目标。
答案 2 :(得分:4)
如果每个人都说同一种语言,并且您不会将代码出售给其他公司,那么可以用他们的母语编写代码。
如果每个成员说不同的语言,则代码应为英文。 尝试制作应用程序中使用的最常用单词的字典,每个人都可以检查。选择具有更多英语技能的人在必要时进行翻译。
当某些单词出现错误时,你总能重构。
答案 3 :(得分:3)
大多数开发人员应该对技术英语有一个合理的理解(毕竟,大多数语言的API都是用英文写的)。因此,英语似乎是一个不错的选择。变量通常不会有非常困难的名称,例如xCounter,isXYZ等。如果它们很难被命名,那么我会认为这是一个肯定的标志,即声明该变量的抽象级别不是正确的。
有人可能会建议本地化变量名称。我发现这非常困难,现在更常见的是代码被其他大陆的人,海外公司等采用。
要得到的东西☺
答案 4 :(得分:2)
我不打算批评,但我有一个真正的问题......如果他们用英语不够流利地命名变量,他们如何能够流利地理解基于英语的商业领域模型,更少的设计和构建软件产品,解决该领域的现实问题?
答案 5 :(得分:1)
找一个你在那里工作的开发人员谁知道一些英语并让他们都运行变量名?
答案 6 :(得分:1)
也许让他们用他们的母语描述性地命名变量,然后使用翻译器将它们转换成英语?甚至可以添加标记并运行预编译器来进行自动翻译?只是一个想法。
答案 7 :(得分:1)
我不确定具体的问题,即变量名称不是描述性的,或者他们使用的变量名称不是英文,变量命名样式是不一致等。无论哪种方式,您都可以尝试建立详细的编码标准,也许使用代码审核或评论来强制执行。例如:
关键是发布这些规则并为整个组织实施这些规则。