Lessons from WordPress core on how to (not) write code

A presentation at WordCamp Nordic in March 2019 in Helsinki, Finland by Andrey Savchenko

Slide 1

Slide 1

Lessons from WordPress core on how to (not) write code

Slide 2

Slide 2

2 You can’t afford WordPress code

Slide 3

Slide 3

3 WordPress core development 1. technical debt → popularity 2. popularity → volunteers 3. volunteers → technical debt

Slide 4

Slide 4

4 WordPress in StackOverflow survey — 6th Most Dreaded Platform (2018) — 3rd Most Dreaded Platform (2017) — 2nd Most Dreaded Technology (2016) — 3rd Most Dreaded Technology (2015)

Slide 5

Slide 5

5 Not “is it good?” but “what is good?”

Slide 6

Slide 6

Slide 7

Slide 7

7 Best APIs 1. Custom Post Types (74% positive) 2. Plugin (hooks) (75%) 3. Custom Taxonomies (70%) 4. Queue (CSS and JS) (70%) 5. Options and Transients (57%)

Slide 8

Slide 8

8 Best APIs — commonalities — laconic — procedural — flexible — public

Slide 9

Slide 9

9 Worst APIs 1. Rewrite (59% negative) 2. XML–RPC (61%) 3. List Tables (53%) 4. Editor (48%) 5. Filesystem (47%)

Slide 10

Slide 10

10 Worst APIs — commonalities — verbose — persistent — clunky — semi–private

Slide 11

Slide 11

11 WordPress is a story not a blueprint

Slide 12

Slide 12

12 Be WordPress–good, not WordPress–bad — make great APIs — hold on to your wins — part with your failures — love users and developers — write reliable flexible code

Slide 13

Slide 13

13 Andrey “Rarst” Savchenko — Rarst.net — WordPress contractor — Date/Time core component maintainer Rarst.net/slides/core-lessons