Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

9
  • To add: If nobody in the team has a sufficient proficiency in English to spot and correct those mistakes, you should consider using non-English names in your code. Commented 15 hours ago
  • 4
    We did that in a project long ago (of which I'm essentially the last maintainer), and I regret it almost every day. In that case, all the names in the standard libraries (Smalltalk) are verbose english, and so we have a mixture of removeSomething and irgendwasLoeschen method names. Commented 15 hours ago
  • I work with a lot of people whose secondary language is English. An approach I use in reviews is to simply comment, "can we rename this to people instead of persons?" Most times, that's good enough; the code author will know they aren't writing in their mother tongue, and this keeps the focus off of "bad grammar". It simply becomes a request to rename something. If it does spur questions from the author, then it becomes appropriate to talk about grammar, but there's no need to focus on it initially. Commented 15 hours ago
  • 1
    @BartvanIngenSchenau Emphatically use English names. English is the computer science and engineering lingua franca. If your English is deficient, learn better English. The level needed to find good names and read documentation is really not hard (compared to, say, German, Basque or Mandarin). Earlier or later, you will have an international team dealing with or even maintaining your code. Commented 8 hours ago
  • 1
    @BartvanIngenSchenau: Partial pushback from my end. Some of the nomenclature is technical plumbing (get, set, repository, service, disable, delete) and it is generally not helpful to translate this. However, there is an argument to be made for domain concepts when translation (and finite proficiency in English from devs who speak another language when communicating directly) can lead to inconsistencies or ambiguity. For example, worked on a government app and we have two distinct concepts of "citizen" which in English both translate to citizen. It was better to use the original names there. Commented 8 hours ago