Accept requirements to be unstable and code for it so that components are independent!
On the 1st of June Hamburg based code experts mindworks GmbH have started a cool new contest asking people to tweat best practices for PHP #PHPbp to win a cool gadget (post is in German).
The title of this post is my contribution to it.
I really like the idea to generate a best practice collection by letting as much people as possible participate in assembling it.
So my contribution is what I think is most important to obey when working on stuff which lifespan will exceed your deadline.
Requirements will change over time. Often within a development circle but certainly afterwards. The more coupled your components (call it functionalities if you like) are the more expansive it will be to change them, add to them, reorder them or remove them entirely.
If you follow separation of concerns from the start you will be ready for change and change in turn will become less expansive.
I already wrote a couple of post on this topic so it felt natural to add that one to the PHP best practices.
- 5 Reasons why decoupled-ness matters to your clients
- Separation of Concerns – important not only within code!
- Separation of Concerns and Modularity are the keys to Scalability
- When embracing Separation of Concerns code reorganisation can be a bliss!