Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 269 of 428

Don’t Just Get It Working

Maybe it’s just me, but one of the things about programming is that many of us pre-occupy ourselves with is the need to find the right way to do something. Contrast this with the mindset of “I just want to get it working” and you’ll know what I’m talking about.

Basically, it’s never good enough just to get something working.

Of course, there are exceptions: creating prototypes, working on a small demo to show someone how something may work, and so on.

But when you’re working on a professional grade product, there’s a number of things that go into getting things to work – anything from the design of the product architecture through how the various functions, modules, or pieces of code are going to interact with one another.

Continue reading

Simplifying Code in WordPress: Option Arrays

Let’s say that you’re working on a plugin that has its own plugin settings page, and on that page there are options to determine what type of posts will support part of the functionality of the plugin.

For example, let’s say this plugin will be introducing a meta box for each post type that extends the type of information that the user can add to a post. The settings page allows you to control which post types will offer this information.

To give a concrete example, take a look at the following screenshot:

Simplifying Code: Options Arrays

Granted, it’s a small example but it makes the point: We have a plugin settings page that displays all of the post types that are in the current theme installation. If selected, we’ll save the values to an options array.

When it comes time to read the values, there are a couple of ways to go about doing it, but one that’s arguably simpler than all of the rest.

Continue reading

A Software Test Plan for WordPress Work

I think that one of the biggest things that developers – myself included – could be better at doing is testing. I’m not necessarily talking about just writing unit tests, or just doing usability tests, but just the general act of testing.

That is to say that perhaps it includes all of the above, perhaps it includes just providing automated and manual testing for part of an application, or perhaps it includes something else that hasn’t been mentioned.

Whatever the case is, testing is important. I’m not afraid to admit that it’s arguably my weakest aspect when it comes to working on projects for myself or for others. To be clear, this isn’t to say that I don’t test (because I do), but that I have room to improve (because I do), and I think we all do.

In fact, I think that there’s something psychological about developers and testing; otherwise, why would there be so many books, articles, and tools on the topic?

But here’s what I think: Developers get into a weird mind set when they’re working on a project and think that a minimal level of testing is enough not because we’re malicious or because we’re lazy, but because I think we think we know how the the users and the context of where our code is running will respond.

But we don’t and this has been demonstrated time and time again.

Software Test Plan

To that end, there are a number of ways to improve the way in which we test our work. And if you’re not testing at all, then one of the easiest (and even one of the most complete) ways to go about testing your work is through the use of a software test plan.

Continue reading

Why I Use GistBox

Note that I no longer use this particular piece of software as I've resulted in using standard Gists.

One of the tools that I’ve been using more and more each day is GistBox. As the website states:

The Beautiful Way to Organize Code Snippets GistBox is the shared code library your team needs.

This isn’t a bad explanation by any means, but if you’re a single developer and/or you’re looking for quick reasons as to how this may be useful in your day-to-day workflow, this particular sentence leaves something to be desired, right?

Personally, I was skeptical until I gave it a try, but now I can’t really imagine not using.

Continue reading

More Thoughts on Why You Need a Team

This is the second post in a series about my thoughts an experience in building a team. Read the first, as well.

In the previous post in this two-part series, I talked about there are different types of teams that are out there and that work together on certain types of projects despite the fact that most of the material that we read is oriented around teams that make up a startup, a business, or a company.

Specifically, I talked about how I used a team to help test my WordPress theme prior to releasing it for sale, and how each person on the list was vetted and provided invaluable information, we didn’t have any type of strict hierarchy.

Instead, it was basically everyone person working together to make sure the product was as solid as possible. But there are more reasons on why you need a team.

As I’ve continued work on the next iteration of the WordPress Plugin Bolerplate, I’ve been working with a very small, focused team of developers all of whom are doing a stellar job helping to bring this project to fruition.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑