Names, Versions, Releases, and SVN

WordCamp Seattle 2016

Created for WordCamp Seattle 2016

There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Plugin Display Names

  • Mailchimp
  • bbPress
  • MailPoet
  • Yoast SEO

Plugin Slugs

  • mailchimp
  • bbpress
  • wysija-newsletters
  • wordpress-seo

You can't rename things

Though you can rebrand...

Pick a Good Name

Especially one you can spell

Names (and Brands) Are Protected

Beware of angry emails

Names Become URLs

  • jQuery Tapdancing Monkeys
  • WordPress Plugin for Extending TARDIS
  • Ford C-MAX Stats

Names Mean Something

He-Who-Must-Not-Be-Named aside...

Names Should Be Self Evident

  • function add_post_type()
  • class Step1{}
  • $whatpageisit

Names Should be Unique

  • function ipstenu_add_post_type()
  • class Helf_Step1{}
  • $whatpageisit

Names Can Be Protected

if ( ! function_exists( 'my_cool_code' ) ) { function my_cool_code() {} }

Names Should be Shared

  • wp_enqueue_style('font-awesome', URL);
  • wp_enqueue_script('jquery');

Versions Are Easy

It's counting that's hard

Semantic Versioning

4.5 → 4.5.1 → 4.5.2 → 4.6

WordPress Is Versioning Wrong suggests MAJOR.MINOR.PATCH

Versioning Is Hard

Because PHP sucks at math

SVN Is a Deployment Tool

At least, it is on

SVN Trunk

Betas, release candidates, aortic

SVN Tags

Released versions

SVN Branches

No one uses them... Except Jetpack

In Summary

  1. Pick good names
  2. Use consistent versions
  3. Use SVN for releasing code


Mika "Ipstenu" Epstein

DreamHost WordPress & DreamPress Developer

My tech blog:

These slides: