views:

112

answers:

3

I found two collapsing problems :

  • You should use the same language between domain experts and development teams (DDD)
  • You should use English for naming in your code (.Net Design guidelines)

What if the domain experts don't speak English ?

+1  A: 
  • Speaking the same language between the teams will foster understanding. However, does the DDD item mean literal "language" (tongue), or "terminology"?
  • Using English for coding is a suggestion, not a requirement.
  • As long as your development team can translate the code operation/intent, I don't see the issue.
GalacticCowboy
We're actually using English for coding, so we translate domain terms for coding. It is not really a burden, but it adds a mental step when speaking
Think Before Coding
A: 

If you ask me you should use native language for business (like customer, order etc) and english for technical terms (like get, set etc). If you start translating your business words, you have to go through a mental step and furthermore you sometimes get two different translations for two things - in other words it's a mess. Now you only have to find out what is a business term and what is a technical term...

khebbie
A: 

We use the domain language (lawyerly German) for domain concepts and English for technical concepts. This leads to funny-looking class names, but on balance, it's a win.

More detail in my answer to a closely related question.

bendin