Editor’s Note: This is the second in a five-part series on refactoring and modernizing PHP applications.
If you were to identify the most expensive part of any development project, what would that part be? The planning phase? Acquiring copyright or intellectual property? Marketing and advertising? All of these would be wrong. The most expensive part of any software project is the creation of the software itself. It’s the part that requires the most time, energy, and money to do correctly.
Editor’s Note: This is the first in a five-part blog series on refactoring and modernizing PHP applications.
We’ve all heard the expression from the children’s story: “slow and steady wins the race.” But what does this have to do with refactoring? And how can this help us to modernize our applications?
We’ve all been there before: we’re sitting across the table from someone, who is interviewing us for a new position. We’re getting close and we know it because the conversation shifts from talk of “…if you come on board…” to “…when you come on board…” And suddenly you have a thought that strikes fear into the core of your heart: what kind of code base am I getting myself into?
The truth is that nobody is ever going to volunteer that their code base is a complete mess (I’ve had it happen maybe once), and short of asking to see the code before you start, you’re not going to really know what it’s like until you dig in. Many if not most companies would be reluctant to open their code base to an outsider, so how will you know in advance?
Recently while working on an application I found myself asking a number of architectural questions. These were questions about things that I might consider “fundamental” – elements of the application, how many methods each class might receive, and how to put it all together into something cohesive.
You might have asked yourself some of the same questions.
In the past I’ve written up installing various versions of PHP on new releases of Ubuntu, or for new releases of PHP. In those posts I’ve often recommended compiling PHP from scratch. However, compiling PHP from scratch is a serious chore, and keeping it up to date is even more of a serious responsibility. There are better ways.
The PPA’s by Ondřej Surý
When I was younger, I had strong opinions about many subjects. I felt I was right about a great many things, and anyone who disagreed with me was wrong. In my mind there was a right or a wrong, a black and a white, with little room for grey. Others were certainly entitled to their own opinion, but that didn’t make them any less wrong if their opinion differed from my own.
As I’ve gotten older, I’ve begun to realize in programming, and in life, so often things rely on a two word phrase that makes all the difference: it depends.