Get your FREE 30 page Developing SOLID Applications guide!

Effective Refactoring Strategies

Including today, there are six business days remaining in 2013 (five if you are lucky enough to get New Year’s Eve off). My brother used to call this week “the lost week” – there’s hardly anything to get done because so many people are on vacation or preoccupied with setting goals for the new year. But the downtime provides a perfect opportunity for the aspiring software developer to do the one thing they are always told there’s no time to do: make the code better for better’s sake.

With few deadlines and plenty of free time, most developers can get a few hours of refactoring in to their code towards the end of the year. They can rearchitect sections that were implemented with haste in September; they can write tests for sections that were untested in April. Put another way, the “lost week” can be redeemed.

(more…)

Improve Your PHP Development Skills

Maybe you struggle with object oriented code, understanding it and writing it. Perhaps you’re tired of having to rewrite code that doesn’t pass code review or introduces a bug you didn’t expect. Maybe you’d like to impress your boss by improving your skills without having to attend an expensive conference.

If any of that describes you, then I have good news: Do This, Not That: Object Oriented PHP is almost here! I’m launching it tomorrow to subscribers to my mailing list, and then on Wednesday to the general public. But here’s the catch: I’m offering a special 20% off launch day deal and it’s only available to people who are members of the launch list!

(more…)

Q&A: Answering Some Questions About Object-Oriented Programming

Last week I wrote about five tips to improve object-oriented code. This generated a number of important questions, which I will attempt to answer for those who asked them.

“Often times when a developer gives each object only one responsibility, they tightly couple objects together.” Can you explain?
There are two major pitfalls in object-oriented programming: trying to do too much with an object, and trying to couple a number of objects too closely together. For this example, we’ll use the engine metaphor.

(more…)