Software Engineering in Web Development, Backend Services, and More

Category: Articles (Page 125 of 258)

Personal opinions and how-to’s that I’ve written both here and as contributions to other blogs.

Unit Test Existing Code in WordPress Projects

In following-up with yesterday’s post on unit testing WordPress code, I ended up wanting to say more than I did. There are are a lot of things to talk about (entire books cover TDD so what could a single post offer, anyway?).

Rather than try and tackle so many things in a handful of posts, I’ll stick with writing shorter posts on a handful of these topics.

Unit Test Existing Code (or Red-Green-Refactor)

Unit Test Existing Code (or Red-Green-Refactor)

One of the things that I wanted to discuss is the how unit testing can help drive architectural decisions. The challenge with the latter, though, is that part of writing tests often comes with retrofitting tests (or how we can unit test existing code).

And this is a topic all its own.

Continue reading

Architecture and Unit Testing WordPress Code

In a few recent projects, I’ve been unit testing WordPress code and doing more general test-driven development than normal. I’m no stranger to TDD, but it’s not something I am religious about using. For me, it depends on the nature of the project.

There’s a lot of writing on TDD and its advantages, and a lot of people who use it swear by it. It builds a level of quality into a project and helps with adding new features, solving bugs, and modularizing code.

Unit Testing WordPress

Unit testing WordPress code is a bit of a mixed bag, and it comes down to the fact that object-oriented code in WordPress is often tightly coupled to both the business logic and the WordPress API.

Since TDD can help designing the architecture of a project, it can help guide how we can create more testable classes.

Continue reading

How To Checkout WordPress via Subversion

If you want to contribute, you’re going to need to know how to use Subversion to checkout WordPress from its Subversion repository.

Before looking into how to do that, I’d say that source control is but one of the tools that a professional developer (let alone a WordPress developer) should have at his or her disposal.

So why not use this open source project to learn how to do just that?

Continue reading

It’s Not a Sad State of Web Development

Like many of you, I use Pocket to file the articles I want to read or bookmark for future reference. Sometimes, I get around to reading them; other times, I never actually come back to them. The latter is a perpetual problem I have to get a handle on, but I digress.

Pocket

For the most part, I try to stick to a single topic of WordPress-related development on this blog. But there are times where I see things tangentially related as it comes to our industry (or even just our part of the industry).

Regarding Pocket, the whole reason I bring this up is that I was just spending time in my account preparing to declare bankruptcy in my set of articles. The goal was to clear out everything that was in there (isn’t that what bankruptcy is?), but I found some other articles that I still want to have available to read and to archive for reference.

But in deleting all of the articles that I found, I couldn’t help but notice a pattern of disappointing article titles and subject matter.

Continue reading

An Embarrassing First Release

I’ve talked before about my idea of shipping a “strong 1.0” when it comes to working on projects for yourself or other people but what if that version is an embarrassing first release?

There’s a quote that many of us are familiar with (and that I’ve referenced here before, too):

If you are not embarrassed by the first version of your product, then you’ve launched too late.

It’s attributed to Reid Hoffman, the founder of LinkedIn.

I think it’s something that’s good to remember, but sometimes I wonder if we use it as a crutch when shipping something and as a rationalization to cut corners.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑