I'm an Italian developer, but I have a good understanding of English.
Sometimes, when developing an application targeted for an Italian audience, I wonder whether it is correct to use the Italian language in my code or not. By "Italian language in my code" I mean the names of methods, classes, comments, variables and so on.
For example, when I write code like this:
/* Attenzione: metodo esageratamente complicato */
public double calcolaImposteDeiServizi() { ... }
Do I break any sacred law of programming because I didn't write that code as follows?
/* Caution: overly complicated method */
public double calculateTaxesOfServices() { ... }
I remember a project I worked on some time ago. It was about calculating VAT/taxes/bonuses. Some of this code was dealing with concepts that existed only in the Italian economy at that moment.
I preferred to write that project using only Italian names for methods, otherwise it would clearly have become a mess understanding that VAT was Italian's IVA and so on.
By using this example, should there be some kind of rule for deciding whenever to use your language or not in code?
Did any highly authoritative programmer ever said something about this issue?
How do you make this kind of decision in your projects?
public
anddouble
also Italian? I'd expect at least a little language-switching whiplash even for an Italian-speaker...