Software Engineering in WordPress, PHP, and Backend Development

Author: Tom (Page 341 of 429)

Software Craftsmanship and WordPress

Earlier this year, I shared a post on why software craftsmanship matters in WordPress development. It stemmed from a Twitter conversation that I had with Dave Donaldson at Max Foundry.

In the comments of that particular post, Dave also followed up with this comment:

Just to be clear, my issue with the term “software craftsman” is that it’s taken on an elitist connotation by many people, and that bothers me. It also bothers me that there is some correlation between people who spout “software craftsmanship” but don’t actually ship anything.

I try not to spin my wheels on topics that I’ve already discussed in-depth, but I recently stumbled across another post by Uncle Bob Martin – arguably the biggest proponent of the software craftsmanship movement – on the 8th Light blog that brought up the same concerns that Dave mention.

Specifically, it discussed the “elitist connotation [demonstrated] by many people.” Call me naive but I’ve simply been missing out on the drama that’s been going on surrounding this entire “software craftsman” thing.

For me, it’s always been about the manifesto, and the ability to make sure that I – as a developer – am doing the best job that I can to build good things for others and for myself.

It’s also a matter of making sure that I’m actively trying to learn from others as well as evangelizing my own practices to others not because I think that I’ve got it figured out, but simply to give back to the developer community.

But apparently, there’s more going on.

Continue reading

How To Document WordPress Projects

Earlier this week, I wrote about the challenges of documenting WordPress projects regardless of if they are free or premium.

In the post, I mentioned that another challenge that comes with actually documenting a project is making sure that you’re catering to the various ways that people learn.

First, as a general rule, I think that projects should include:

  • Source Code Documentation. Free projects should have code comments, premium projects should have code comments, PHPDoc (or similar) style documentation, and API documentation if one is available.
  • A Manual. Free projects should have a README and potentially a web page, premium projets should have a manual that’s perhaps its own website complete with screenshots and/or videos.

But this raises a second question about WordPress documentation, specifically around premium projects: If people have different styles of learning, that is, some learn better by reading, others better by watching, are we obligated to provide both forms of documentation?

Continue reading

Strip Hidden ASCII Characters

Late last week, I was working on a project that was responsible for reading the contents of a CSV, parsing the information, and then inserting it into the WordPress database.

But I hit a snag (as we so often do, right?): The first few rows of the CSV were working fine, but a number of the rows were failing to import.

The thing is, there appeared to be no rhyme or reason. I made sure the CSV was a raw text file and even saved a new version of the file using a raw editor twice to make sure any, um, ‘stray’ characters were being removed.

Unfortunately, it didn’t work so rather than spend time trying to reformat the entire file, I ended up writing a small regex to strip hidden ASCII characters form the incoming information.

Continue reading

WordPress Documentation For Free and Premium Projects

If you spend time maintaining a WordPress project – be it a theme, plugin, or application, and regardless of if it’s free or premium – then you know the challenges that come with writing and maintaining documentation for your project.

Sure, I think many of us who build and maintain projects consider documentation a form of support, but when you ask a customer to define support, you’re more likely to hear about their ability to communicate with someone through a forum or a phone call (depending on your service).

I mean, case in point, when I think about support for my cellular service, I don’t think of documentation of Sprint’s network. I think of talking to a person.

Anyway, all that to say is that over the past few years of working with various types of projects – both on my own and with my team – the trend seems to be that documentation for free projects is expected, but ignored, whereas documentation for premium projects is not only expected, but also read.

But I write this to ask if this is something the rest of you guys have noticed, and, if so, if there isn’t something that can be done to improve this particular situation or it’s simply the nature of the economy. Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑