
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.
On October 26th, The Jolt Judges announced the awards for 2011 in the category “Design, Planning, and Architecture Tools”. In detail, the Jolt hall of fame now includes the products Paradigm for UML, Restructure 101, and Requirements Center 2010.
Yesterday we talked about the Rosyln Compiler and Workspace APIs. Today we take a look at the Rosyln Service APIs and how they can be used to extend Visual Studio. The extensions we will look at today are Code Issue, Quick Fix, Code Refactoring, Completion Provider, and Outliner.

JetBrains is one of the few companies that thrives selling developer tools. In this interview you get some insight in their strategies, current and new products and future plans.

Developers often talk about Technical Debt saying its slowing your projects down. What are they really saying? What measures can you take to reduce it before it cripples your projects?
Jason Gorman presents how developers can learn TDD to the point of transforming the knowledge acquired into habits by exercising a number of practices over a period of 4-6 months followed by evaluation done by fellow co-workers.
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 Thompson and Huiqing Li explain refactoring with functional languages and Wrangler (Erlang) and HaRe (Haskell). Also: how Wrangler's ad-hoc mode allows everyone to write custom refactorings.
Kostis Sagons talks about how type checking can help with a dynamic language like Erlang and how static analysis tools like Dialyzer or automated refactoring tools like Tidier help keep code clean.