Software Engineering in Web Development, Backend Services, and More

Category: Articles (Page 245 of 258)

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

A Few Thoughts on WordPress Craftsmanship

One of the words that has begun to surface in the software development community in the last few years is craftsman. I attribute this to Uncle Bob Martin, his Clean Code book, and his whole Clean Coder movement (for lack of a better term).

I want to be clear: I love this idea. I’m a fan of Bob Martin and attribute much of the way that I approach software development to him (among a few others).

But a lot of his work is done in the context of the enterprise. That is, he speaks largely to people who are working on large-scale systems for large companies.

Good coding principles transcend their environment though, right?

On top of that, WordPress in an of itself could be considered an enterprise-level application not only considering how widely used it is, but how many large sites it actually powers.

With all of that said, I’ve been thinking a lot about WordPress craftsmanship as it relates to themes, plugins, and applications, and thought I’d share some of them here.

Continue reading

A Case For WordPress Code Comments

Source code – let alone WordPress code comments – is one of those things that often divide developers:

  • Some developers believe that code should be the documentation
  • Some developers believe that we should document every single line
  • Other developers feel that only complicated areas of code should be documented

In my latest series on Envato, I discuss a case for WordPress code comments on both the server-side and the client side.

Continue reading

Object Oriented and Procedural Code in WordPress Plugin Programming

WordPress Plugin Programming

One of the things that makes developing for WordPress so fun is the nature of its extensibility through plugins. When it comes to WordPress plugin programming, there are actually two ways that you can write your plugins:

  1. Object-Oriented Programming
  2. Procedural Programming

In the lastest series running on Envato, Stephen Harris and I provide an in-depth discussion on both of these strategies.

Continue reading

Everything’s An App (Even If We Don’t Know It)

Ever since smartphones have become mainstream, there are apps for almost everything. Prior to this revolution (if that’s what you’d like to call it), we had phones that a had a few [weak] tools on them, but most of our work was done on a computer.

And the computer had software, or computer programs, or applications – whatever you’d like to call them – and that’s how we got work done.

This is likely going to make me sound a bit weird, but for the past few months I’ve been periodically asking people how they define an app. Of course, I don’t ask it like that. Instead, it’s goes something more like:

So, hey, what’s an app?

And nine times out of 10, I end up getting the same response:

A little program (or icon, even!) on a phone.

Some people have responded that it’s also something on their tablet. Fair enough.

I definitely attribute this change in vernacular to Apple. After all, they’re the one’s who started the App Store with the vision that people could create an app for anything.

But what is an app?

From a problem-solving standpoint – not even a computing standpoint – I have this idea that almost everything is an app.

Continue reading

A Two-Phase Production Deployment Plan

For anyone that’s been doing software development for any reasonable length of time – especially for web applications – then you’re likely familiar with Local (or Development), Staging (or Test), and the Production environments.

If not:

  • Local or Development refers to the machine on which you’re actually building the product.
  • Staging or Test refers to the server designed to represent Production, though is only accessible by developers, testers, clients, and perhaps some of the end users to evaluate features prior to the official rollout.
  • Production is the live version of the site. No development occurs on this server.

Most developers who are in the business or closely working with their client follow this particular setup.

In the past couple of months, there have been a few times when a single production rollout has fallen short and ended up either revealing bugs that were not caught in Staging or that did not hold up under Production-level loads.

As frustrating as that can be, I’ve ended up using a sort of two-phase Production deployment plan to help mitigate this.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑