Skip to main content

Posts

Showing posts from June, 2007

Encapsulate Field Blues

There is no other computing book that I regard as high as Martin Fowler's Refactoring - Improving the Design of Existing Code. I am therefore thrilled to have seen refactorings take a major leap into mainstream development during the last couple of years. For the uninitiated, refactoring deals with how to make computer code beautiful, maintainable and easier to read, without changing functionality. One of the most common refactorings there are is Encapsulate Field , which tells us to make a member variable private and wrap it in public set and get methods. The rationale behind this is to separate data from behavior and allowing us to change the implementation without having to change all callers. I hate it. It's not that the refactoring is bad per se , it's just that it's being misused right and left. Why would you want to bloat your code with trivial get/set accessors instead of just making the member public? Also, most modern languages have constructs for making a p