Domain Driven Design and naming
A big idea in Domain Driven Design (DDD) is ubiquitous language. The books have entire chapters on the topic, but I’ll try to summarise it and it’s benefits below.
Definition: A shared language for use by domain experts and developers, that is used to express your business' scenarios or model.
- Reduces cognitive load, simplifies communication across stake holders from all areas (Domain Experts & developers). This is a case of reducing Extraneous (irrelevant) Load, because fewer ‘translations’ & clarifications need to be made when communicating.
- Eliminates inaccuracies and contradictions when communicating in cross-functional teams (very common way of operating).
- Try and name your functions and variables using ubiquitous language.
- Even if you’re not in an environment that explicitly uses DDD, you can introduce Ubiquitous Language:
- Start a shared document, with the language you commonly use on your project, to make sure everyone’s on the same page