
Brian Foote on the State of OOP, Refactoring, Code Quality
Brian Foote looks back at the promises of OOP and discusses which, if any, of them became reality. Also: a look at NoSQL, refactoring and code quality, testing and static typing and more.

Brian Foote looks back at the promises of OOP and discusses which, if any, of them became reality. Also: a look at NoSQL, refactoring and code quality, testing and static typing and more.
Amazon recently added a new MySQL database offering to their Amazon Web Services (AWS) platform named Amazon Relational Database Service (RDS). InfoQ explores the benefits and shortcomings of this new service, how it compares to running a local MySQL database, maintenance and replication, the 4-hour weekly downtime window requirement, availability zones, and future plans.

Given the fact that the bulk of a developer's work is maintaining and enhancing existing code, Fabian Kiss makes the case for a lightweight approach to documenting the rationale and decision process behind design decisions to help later developers tie the source code syntax to its meaning in the application domain. Using simple tags and clearly thought out rationale to provide just-enough value.
Ralph Johnson discusses principles, practices and tools relating to software development starting not from scratch but from already existing code which needs refactoring, maintenance, and sometimes architectural change.
Simon Stewart presents the activity of Google’s Engineering Productivity team and the role Software Engineers in Test (SETs) play in helping software developers to make their code more maintainable, recommending some of their tools: Gold linker, Eclipse, distcc, JDepend, graphviz.
Robert C. Martin, during his keynote at QCon London 2010, tried to figure out why there is so much bad code written. He offers advice on writing good code talking about a bad code example, Boy Scout rule, functions, arguments, craftsmanship, TDD, continuous integration, pairing, small cycles, patterns, engineering, certification, and other elements contributing to qualitative code.
Brian Marick discusses the difficulties met trying to maintain tests that are vital to a project’s success, and how mocking frameworks can help, providing advice on writing unit and integration tests