[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fu1P7ZUD7ENXsQfJELji5NHY3PbLpmIwUgo_e814NfGc":3,"$fKoQU_c4FEQidwjA47LYpFcbd0kZXoZXCIKZy3kXkEm0":23},{"author":4,"tags":11},{"author_id":5,"author_name":6,"author_name_first_letter":7,"article_count":8,"bio":9,"short_bio":9,"slug":10,"image_url":9},24469,"Robert C. Martin","R",108,null,"robert-c-martin",[12,16,20],{"tag_id":13,"tag_name":14,"tag_count":15},11573,"programming",11,{"tag_id":17,"tag_name":18,"tag_count":19},9473,"code",5,{"tag_id":21,"tag_name":22,"tag_count":19},23661,"software-engineering",{"quotes":24,"pagination":88},[25,33,39,46,52,58,64,70,76,82],{"id":26,"quote_text":27,"author_id":5,"source_id":28,"has_image":29,"author":30,"source":31,"quote_tag":32,"commentary":9},3383156,"The problem that Dijkstra recognized, early on, was that programming is hard, and that programmers don’t do it very well.",6,false,{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":34,"quote_text":35,"author_id":5,"source_id":28,"has_image":29,"author":36,"source":37,"quote_tag":38,"commentary":9},3383155,"Perhaps you thought that “getting it working” was the first order of business for a professional developer. I hope by now, however, that this book has disabused you of that idea. The functionality that you create today has a good chance of changing in the next release, but the readability of your code will have a profound effect on all the changes that will ever be made.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":40,"quote_text":41,"author_id":5,"source_id":28,"has_image":29,"author":42,"source":43,"quote_tag":44,"commentary":45},3383154,"Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build, and test.” – Ray Ozzie, CTO, Microsoft Corporation.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],"**The Backstory**\nRay Ozzie, the CTO of Microsoft Corporation at the time, delivered this quote during a keynote speech at the Microsoft Professional Developers Conference (PDC) in 2005. The tech industry was experiencing a period of rapid growth and complexity, with the rise of service-oriented architecture (SOA) and the increasing complexity of software systems. Ozzie's statement was a call to action for developers to prioritize simplicity and clarity in their work.\n\n**The Hidden Insight**\nWhat Ozzie is saying goes beyond the obvious need for simplicity in software design. He's pointing to a deeper psychological truth: that complexity is not just a technical problem, but a human one. When we add complexity to a system, we're not just making it harder to understand and maintain; we're also making it more emotionally draining and demotivating for the people who have to work with it. This is because complexity introduces uncertainty, ambiguity, and anxiety, which can lead to burnout and decreased productivity.\n\n**How to Use This**\nTo apply this mindset today, modern professionals and creatives should strive to simplify their work by eliminating unnecessary complexity and focusing on the essential features and functionalities that drive value. By doing so, they can create a more sustainable and fulfilling work environment, where their colleagues can thrive and deliver high-quality results.",{"id":47,"quote_text":48,"author_id":5,"source_id":28,"has_image":29,"author":49,"source":50,"quote_tag":51,"commentary":9},3383153,"Consider, for example, the truly hideous practice of creating a variable named klass just because the name class was used for something else.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":53,"quote_text":54,"author_id":5,"source_id":28,"has_image":29,"author":55,"source":56,"quote_tag":57,"commentary":9},3383152,"Factories are a complexity that can often be avoided, especially in the early phases of an evolving design.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":59,"quote_text":60,"author_id":5,"source_id":28,"has_image":29,"author":61,"source":62,"quote_tag":63,"commentary":9},3383151,"For example, class names including weasel words like Processor or Manager or Super often hint at unfortunate aggregation of responsibilities.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":65,"quote_text":66,"author_id":5,"source_id":28,"has_image":29,"author":67,"source":68,"quote_tag":69,"commentary":9},3383150,"In fact, wrapping third-party APIs is a best practice. When you wrap a third-party API, you minimize your dependencies upon it:.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":71,"quote_text":72,"author_id":5,"source_id":28,"has_image":29,"author":73,"source":74,"quote_tag":75,"commentary":9},3383149,"If a test in the same package needs to call a function or access a variable, we’ll make it protected or package scope.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":77,"quote_text":78,"author_id":5,"source_id":28,"has_image":29,"author":79,"source":80,"quote_tag":81,"commentary":9},3383148,"The cost of automating acceptance tests is so small in comparison to the cost of executing manual test plans that it makes no economic sense to write scripts for humans to execute.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"id":83,"quote_text":84,"author_id":5,"source_id":28,"has_image":29,"author":85,"source":86,"quote_tag":87,"commentary":9},3383147,"The goal of software architecture is to minimize the human resources required to build and maintain the required system.",{"id":5,"author_name":6,"slug":10,"author_name_first_letter":7,"article_count":8,"image_url":9},{},[],{"currentPage":89,"totalPages":15,"totalItems":8,"itemsPerPage":90},1,10]