Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 243 of 258)

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

Do One Thing and Do It Well – But How?

One of the things that we – that is, developers and designers – hear more often than not is that plugins should “do one thing and do it well.”

But what does that mean?

I think that it sounds good in theory but I’m not convinced that if you were to ask each developer and/or designer separately what that means, then you’d get a variety of answers.

I think that there’s a reason that we feel this way, but I’m not really sure that we know what it even means.

Continue reading

We Need Better Abstraction in WordPress Projects

When it comes to programming – regardless of the platform, language, or system that you’re using – there’s a concept of abstraction that most programmers understand even if they don’t know that that’s what the concept is called.

Perhaps the clearest definition on abstraction in programming (straight from Wikipedia) explains:

Abstraction is the process by which data and programs are defined with a representation similar in form to its meaning (semantics), while hiding away the implementation details.

A simple, practical example of an abstraction would be the concept of functions: It completes a unit of work and optionally accepts parameters and returns data to the caller

The details are implemented – are abstracted – into the function so that other programmers (or even the original developer himself or herself) can simply make a single call to the function.

Easy enough, right? Especially since we’ve all written functions.

Of course, abstractions can be more complex. Starting from functions, moving up to classes, moving up to full API’s and so on. Everything in programming lives at some level of abstraction.

I bring all of this up because I’ve seen – and continue to see – huge opportunities for refactoring WordPress-based code (specifically in themes and plugins) into more abstract units in other code as well as my own.

Continue reading

On Creating User Interfaces: A Developer’s Perspective

I’m not a designer and I’ve never claimed to be one, but that’s not an excuse for sacrificing an attempt at creating good user experiences, right?

To be clear, I am not equating user interfaces and user experiences – that’s incorrect. They aren’t the same (though they’re often treated as such). Generally speaking, user interfaces make or break the user experience.

The thing is, developer’s are notorious for creating terrible interfaces.

I’d even go as far as to say as that we have a reputation of creating a horrible user interface then calling the user stupid when they can’t figure out how to use what we created.

Lame.

Bad User Interface

A Stereotypical UI By a Developer

Personally, I try to do what I can to make sure that I don’t create interfaces like what you see above.

I’m not great at it, but I am attempting to get better and I try to make each project an improvement over the last, and I try to make sure that as I go back and revisit, refactor, and improve existing projects, that I incrementally improve parts of it that I can.

That said, there are a few things that I try to keep in mind whenever I’m working on a new project. The majority of the work that I do is with WordPress, so this will be clearly geared towards that, but I’ve tried to generalize these points so that they are applicable to a variety of platforms.

Continue reading

Tips For Beginning WordPress Development

Tips For Beginning WordPress Development

The web is filled with a variety of questions and answers, tutorials, and demonstrations of how to accomplish certain tasks with WordPress. Sometimes, the code is really good; other times, the code is not so good.

This can be dangerous primarily because some developer-types are more concerned with copying and pasting code just to get something working rather than truly understanding and learning the application.

In my latest post on Envato, Practical Tips For Aspiring WordPress Developers, I try to provide some advice for those who are serious about beginning WordPress development.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑