Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 203 of 258)

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

Should WordPress Editor Styles Be Required For Premium Themes?

At this point, there are a number of great content management-related features that are built directly into WordPress that are easy for theme developers to employ.

Some of these features include:

  • Enabling post formats
  • Automatic feed links
  • Setting the default content width
  • Opting to enable (or disable) featured images
  • …and so on.

And many of these features are widely used by a variety of different themes. Obviously not every theme uses all of the above functions but many use some of them.

But there’s one native feature that, for one reason or another, doesn’t seem to have taken off as much as other features:  WordPress editor styles.

This is a bit odd to me, because I think it’s one of the features that can greatly enhance the experience with a theme, and I think it can contribute to create greater differentiation in premium-grade products.

Continue reading

The Challenges of Feedback Loops in Software Development

One of the things that development teams often talk about is the idea of feedback loops.

Though people may define this a little bit differently depending on their specific circumstance, one way of thinking about them is the amount of time it takes the service provider to request information from the client (or vice versa) and the amount of time as well as the amount of information included in the response.

When it comes to software projects, there are normally two ways in which people consider feedback loops to be valuables:

  1. Small feedback loops
  2. Large feedback loops

So novel, right?

But here’s the question: What do you do when the person to whom you’re providing a service, or the person to whom you’re working with values the opposite type of feedback loop than you do?

Continue reading

Procedural Programming: Private Functions in WordPress

One of the things that I’ve been criticized for (for lack of a better term, I suppose) is that I push object-oriented techniques over procedural programming  in WordPress.

To some degree this is true: I do prefer object-oriented programming, but I don’t think it’s the end-all-be-all of programming paradigms. After all, when building, say, a theme, there’s actually little room for writing object-oriented code.

On top of that, because of the minimum requirements of WordPress, there are a lot of advanced features in PHP that I avoid because I can’t be guaranteed that the end user will have them available on his or her system when they install the plugin.

So, sure, I prefer object-oriented programming, but I certainly don’t aim to make it the utopian programming practice.

That said, there is one aspect of procedural programming that requires some type of convention: private functions.

Continue reading

My Regression in Dynamically Typed Languages, Revisited

Yesterday, I wrote a post about some of my issues and gripes with dynamically typed languages. Though the post itself didn’t generate a lot of conversation in the comments, I ended up having a good chat via Twitter with a number of developers whom I greatly respect.

In these particular conversations, I was challenged both in terms of how I leverage the dynamic features certain programming languages, as well as how I use certain forms of notation (namely, Hungarian Notation).

Challenge Accepted

I can’t cover everything that I’d like to cover in a single post partially because I’m not certain – at least at this point in time – I’d  change my opinion on everything I wrote.

However, out of the conversations that I did have, I think one point that’s worth clarifying is my opinion on using Hungarian Notation in dynamically typed languages and how the environment can change whether or not I use it.

Continue reading

My Regression in Dynamically Typed Languages

I remember when I first moved from writing code in statically typed languages such as (C, Java, C#, and so on) to more dynamically typed languages (such as JavaScript, Ruby, and PHP).

At first, I loved it – I loved the brevity that the code allowed, and I loved how being able to write slightly less verbose code felt whenever I was working on part of a program. Being able to drop out certain operators made things so much easier.

Or so I thought.

But the longer I’ve been programming – especially the more time I’ve spent in JavaScript and PHP, for example – the more I find myself returning to more and more verbose code forgoing some of the features that come with dynamically typed languages (such as type coercion).

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑