Getting a grip on your code dependencies - Dennis Doomen - NDC Sydney 2024

Learn how to master your code dependencies, reduce duplication, and increase maintainability by recognizing internal boundaries, using abstractions, and implementing dependency injection, event sourcing, and more.

Key takeaways
  • The talk emphasizes the importance of understanding code dependencies and finding ways to manage them effectively.
  • Code duplication can be reduced by identifying internal boundaries and creating separate modules.
  • Using abstractions and interfaces can help decouple code and make it more maintainable.
  • Dependency injection and the law of demeter can be used to reduce coupling and increase cohesion.
  • The talk also touches on the idea of event sourcing and the importance of building a safety net to handle changes.
  • The code base should be organized into functional slices, each with its own boundaries and tests.
  • The onion architecture is mentioned as a way to separate concerns and reduce dependencies.
  • Code should be organized into build blocks that serve specific purposes, and each block should be treated as a separate boundary.
  • Using testing tools and mocking can help isolate dependencies.
  • Code should be deleted if it is unnecessary, redundant, or difficult to understand.
  • The talk concludes that getting a grip on dependencies is crucial for building maintainable and scalable code.