Shipping code for fun & profit

26 things I learned developing WordPress plugins

Lee Willis - @leewillis77

About me

Playing with OSS since '98

  Mailing list archive from 1998

Software dev / BA @ PlusNet

5 years as an IT out-sourcer

wordpress.org

leewillis77

WordPress plugin developer

17 plugins on wordpress.org

Contributed to:

Not as much as I'd like

http://www.flickr.com/photos/90692443@N05/8239219385/

plugins.leewillis.co.uk

Oh, and also

Drupal developer

  druplicon

First class mistake-maker

These are my lessons-learned

Ship your code

beta release image

#1

Except version 2

You have a responsibility

#2

Support is hard, really hard, and it’s not something that most people are naturally good at.

— @pippinsplugins October 15, 2013

Be clear on support

  Y U BREAK MY SITE!

#3

Be open to contributions

#4

Be a good citizen

#5

Contribute back

Ways to contribute

Show and tell

#6

Stand on the giants' shoulders

https://twitter.com/leewillis77/lists/giants

#7

Even better

Find a bear

#8

"Where can i find a bear?"

The woods

#9

Sure, I'm a better person, but I can haz code now??

"Do It Right"

#10

PHP Version compatibility

#11

Common gotchas

#12

Escape input

#13

  http://xkcd.com/327/

  http://xkcd.com/327/

Escape output

Then read this:

Escaping API updates for WordPress 2.8

#14

serialize() is fine for config

 

Don't use it for data

 

#15

Learn about i18n

#16

Comment your code

#17

Shipping code is great

but once you ship...

You lose control

A nice little graph

"Page requests per month"

DDOS Graph

So — test ...

#18

Find great tools

You are a professional, your tools are complicated

— Rowan Merewood, Building Better Developers

General

#19

WordPress specific

#20

Invest the time

to be

"good by default"

#21
#22

Do yourself a favour —

Don't re-invent the wheel

#23

Remember the giants?

Try something new

#24
http://www.flickr.com/photos/esparta/468652377/

Keep fresh perspectives

#25
#26

One final word

Thank you for listening

Lee Willis — @leewillis77

leewillis77.github.io/26-things

Beware off-by-one errors

#27
#

/