Names, Versions, Releases, and SVN

WordCamp Seattle 2016

Created for WordCamp Seattle 2016

https://slides.halfelf.org/wcsea2016

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
    jquery-tapdancing-monkeys
  • WordPress Plugin for Extending TARDIS
    wordpress-plugin-for-extending-tardis
  • Ford C-MAX Stats
    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

semver.org suggests MAJOR.MINOR.PATCH

Versioning Is Hard

Because PHP sucks at math

SVN Is a Deployment Tool

At least, it is on WordPress.org

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

THE END

Mika "Ipstenu" Epstein

DreamHost WordPress & DreamPress Developer

My tech blog: https://halfelf.org

These slides: https://slides.halfelf.org/wcsea2016