Published Aug 20, 2017

Software Design Anti-patterns

Join Joe Zack, Michael Outlaw, and Alan Underwood as they delve into software design anti-patterns, exploring the pitfalls of code duplication, interface complexities, and the "Big Ball of Mud." They discuss solutions for enhancing code reusability, efficient testing, and managing complex codebases to improve software robustness and maintainability.
Episode Highlights
Coding Blocks logo

Popular Clips

Episode Highlights

  • Code Duplication

    Reducing code duplication is crucial for maintaining clean and efficient software systems. highlights the pitfalls of ad hoc database calls, which often lead to redundant code and potential inconsistencies 1. He explains that copying and pasting code can result in slight variations that complicate maintenance and introduce errors 1. emphasizes the challenge of identifying reusable components within an application, noting that it requires a comprehensive view of the system 2. finds satisfaction in eliminating redundant code, stating:

    The delete key is my favorite key.

    ---

    Streamlining code reusability not only simplifies maintenance but also enhances the overall functionality of the software 2.

       

    Abstractions

    Effective abstractions play a pivotal role in creating maintainable and reusable code. expresses frustration with developers who consolidate multiple small classes into a single file, advocating for separation to enhance readability and maintainability 3. argues that the number of files should not dictate coding practices, emphasizing the importance of meaningful abstractions over file count 4. He points out that modern IDEs offer tools to manage multiple files efficiently, making it easier to navigate and maintain codebases 4. concurs, highlighting the limitations of tools for handling large files:

    I don't have great tools for dealing with big files. I've got control f and like the mouse scroll, you know, that's it.

    ---

    By focusing on effective abstractions, developers can create more robust and scalable software solutions.

Related Episodes