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

  • Input Testing

    Unexpected input testing is crucial for ensuring software robustness. highlights fuzz testing, which involves providing invalid or unexpected inputs to test software resilience. This method is akin to monkey testing, where random data is used to uncover potential vulnerabilities 1. suggests the idea of a tool that generates known bad inputs to test software, which confirms already exists in tools like Burp Suite 1.

    If you had like some sort of API that people could call that, like just gave them crap in to see if it broke their stuff, like, that would be, I think it would get used.

    ---

    Such tools are popular in security testing, as they help identify weaknesses that developers might overlook 1.

       

    Edge Cases

    Testing edge cases often reveals the limitations of typical testing practices. discusses the challenges of handling simple user inputs that can cause unexpected failures, highlighting the importance of thorough input validation and testing 2. shares his experience with designing dynamic interfaces, emphasizing the need for careful implementation to avoid unnecessary complexity 3.

    It's difficult for us as the developer to write unit tests to cover these scenarios, but yet somehow it's easy for the users.

    ---

    These discussions underscore the necessity of designing tests that cover edge-case scenarios to ensure software reliability 2.

Related Episodes