This is hard to explain in the abstract, so here's a hypothetical scenario:
You're building an app to manage inventory for a store that sells computer monitors. One day, the store decides that in the future monitors will be called "displays." Your managers promptly commit to this terminology change in conversations with you, and the marketing team ensures that all of their content reflects the change too. To the company, this change in terminology is important.
As a developer and a software craftsman, should you:
- refactor all occurrences of
monitorin your code to
display(in class names, variable names, folder structure, etc.) to keep the terminology consistent?
- leave the names alone because only the devs will see them, and the mismatch in terms will probably not cause any confusion?
- something else?
How much should you refactor names when domain terminology changes?