Does DDD restrict code writing based on the client’s language?

Asked

Viewed 170 times

7

My little knowledge about DDD has been subpoenaed and would like to know more about.

The DDD restricts code writing based on the client’s language because of the ubiquitous language?

  • 1

    What restraint are you talking about? Are you saying you can only do so?

  • Well... This goes to the context and the client. But, the client being Brazilian, I have to put my codes in Portuguese. I feel more comfortable in English... For example... Imagine the following context: Reporteriofactory... is ugly Portuguese with English... Clientecontroller ... This breaks a little the good practices...

  • Strongly related/duplicate: https://answall.com/q/139272/357

1 answer

12


First of all, I have to say I find a lot of the rules that people make silly. Especially in DDD has a lot that by itself I think silly, not that everything is bad in it.

DDD says that the language (and here it does not matter if it is a language, is to use the same words to avoid ambiguity of understanding) used in the code must be the one the client uses. Does your customer use everything in English? If he does not use it, then it has to be in Portuguese, according to the rule. It has to be something that the consumer of the system understands.

Even if the customer doesn’t use English do you think it will give the right names? It may occur, but I’ve always seen translation freaks, not the client, not anyone using those terms, just the programmer who created the code. He thought he was fluent in English but did literal translations, and didn’t even use DDD.

Ever stop to think that some terms are untranslatable? Really. An example is ICMS.

Does this rule make sense? In theory yes, in practice there are these things that you demonstrated in the commentary. But the problem is not mixing, the problem is that this so-called ubiquitous language does not usually occur in fact. The client does not understand what you do, this has always been a fallacy. If even programmers do not understand well what they are doing imagine who is layman. This rule is an idealism. And I have seen no evidence to prove that it is even really useful even if it is done perfectly. What I see most is people who use DDD complaining that it didn’t work or that they didn’t see the advantage, and I see DDD consultants saying that they didn’t know how to do it, even though they were the ones who trained the team to do the DDD.

One of my criticisms of the DDD, especially the ubiquitous language, is that it only works well when there is no interconnection between the domain and the mechanism, which in practice is the opposite of what happens. Maybe there’s a rule that says these cases don’t have to follow the same thing, but I don’t know, I’m no expert.

For me, good sense and hard work has always surpassed any methodology, even because no methodology makes decisions for you and they are the ones that count for the final result. But if you are going to follow this specific rule you have to understand its motivation, is the ubiquitous language was created to communicate better with the client, so will this occur in your case if done in Portuguese or English? If it’s not to communicate better with the customer, then the problem is worse because you don’t even know why you’re using DDD, you just do it because it’s fashionable. Think about it.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.