Converting your anemic dictionaries is easyTL;DR: Convert your key/value into full behavioral objectsProblems Addressed 😔Associative arraysFail Fast principle violationBijection FaultHard to find method referencesRelated Code Smells 💨https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-vi-cmj31om?embedable=trueContext 💬You have anemic associative arrays that hold unstructured data.You want richer objects with stricter controls.Static typed languages can also add type checking to these objects.Steps 👣Find the references to the object or associative arrayReify itReplace generic calls with setters and getters for every key.You can also debug them better this way.settersgettersAdd parameter and return type hinting to interfaces.Do this if your language supports it.Add stronger assertions on the setters between different keys.(if you are using TCR, you can do baby refactoring steps)Sample Code 💻Before 🚨