When I first started out with D3.js six years ago, I built things the same way, customizing examples and although worked, I was never proud of my code. The chaining of methods makes the charts concise but costs a lot in cognitive overload and maintainability. Building this way is painful to modify, reuse or even to understand once you sit back down after lunch!
I had a huge revelation when I discovered the Reusable API (a modular structure to create and reuse D3.js elements) and my code was elevated to even higher levels with Test Driven Development.
In this session, I'll walk you through my journey toward beautiful, maintainable D3.js visualizations with step by step examples of refactoring crufty code to be shiny and new and testable. By the end of the talk, you too will know how to build decoupled, composable, encapsulated and consistent D3.js charts and be proud of your code again!