[英]Variable naming and team members who speak another language
我与印度的几位开发人员一起工作,我们最大的困难之一就是他们对变量的命名。 起初,我感到非常沮丧,无法理解为什么它们不能正确地命名事物(这是懒惰吗?)但是,我意识到他们可能不习惯为变量命名,因为他们读取的所有代码都在其中英语,他们读的英语单词对他们几乎没有意义。 现在似乎很明显,但是如果您不能充分理解英语,就不可能很好地命名变量。
您将如何与外语团队成员一起努力改善命名习惯?
抱歉,如果这有点主观,我已将其标记为社区Wiki。
谢谢!
更改团队成员的要求-他们必须对书面英语有足够的了解。
编辑:在回应Bill K的评论时,在我看来,处理差劲的沟通问题的成本并未计入节省的计算中。 不,我从未与海外开发商合作过,但我确实与2位非英语母语人士合作,即使他们俩都在美国居住了20年,他们之间的交流有时也会变慢。
另外,我没想到我的答案会是最有用的。 只是想指出一点。 如果您不雇用某人在您的办公室工作,那为什么还要雇用他们从地球另一端为您工作? 即使您正在通过代理机构,您也将间接雇用每个使用您的代码的开发人员。
我的经验是,就开发人才而言,便宜是非常昂贵的。
您可以将“变量命名”作为每次代码审查的主题。 事实上,这个议程项目很容易讨论。 您可以使用讨论作为衡量标准,了解他们是否了解他们正在努力实现的目标。
如果每个人都讲相同的语言,并且您不会将代码出售给另一家公司,那么可以用他们的母语编写代码。
如果每个成员使用不同的语言,则代码应为英文。 尝试制作一个字典,该字典是应用程序中使用的最常见单词,每个人都可以检查。 选择必要的英语水平更高的人进行翻译。
当某些单词看起来有误时,您始终可以进行重构。
大多数开发人员应该对技术英语有一定的了解(毕竟,大多数语言的API都是用英语编写的)。 因此,英语似乎是一个不错的选择。 变量通常不会具有非常困难的名称,例如xCounter,isXYZ等。如果很难命名,那么我可以肯定地说,声明该变量所在的抽象级别不是正确的那一个。
可能有人建议对变量名进行本地化。 我发现这确实很困难,在如今更常见的情况是,该代码通常由位于其他大洲的人们,在海外收购的公司等采用。
一定要给☺
我不打算批评别人,但是我有一个真正的问题……如果它们的英语水平不够流利,无法为变量命名,那么它们如何流利地理解基于英语的业务领域模型,而少了设计并构建可解决该领域中实际问题的软件产品?
在那边找到一个与您一起工作的开发人员,他知道一些英语,并让他们全部使用他的变量名?
也许让他们用母语描述性地命名变量,然后使用翻译器将其转换为英语? 甚至可以添加标记并运行预编译器来执行自动翻译? 只是一个想法。
我不确定特定的问题,即变量名不是描述性的,还是使用变量名不是英语,变量命名风格不一致等。无论哪种方式,您都可以尝试建立详细的编码标准并可能使用代码审核或执行评论。 例如:
关键是要发布这些规则并对整个组织实施这些规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.