Speaker Deck

Dotting your i's and crossing your t's - how to make good code great

by Juliette Reinders Folmer

Published May 10, 2014 in Programming

Presented on May 10th 2014 at WordCamp NL, Utrecht, The Netherlands.
http://2014.netherlands.wordcamp.org/
---------------------------------------------------------------
Ever had to go back to code you did over a year ago ? And… did you like it ?

We all *love* well documented, testable, easily readable and understandable code. But how do you write it ? and what tools are available to help you ?
What can you do *now* to make your life and the life of your successor(s) and users easier ?

Learn how to avoid a build up of technical debt and make your good code awesome!

---------------------------------------------------------------

If you download the slides, the links should be clickable. Unfortunately they don't seem to be in the online deck, so here's a list of the links:

Slide 10
Types of Technical Debt: http://www.martinfowler.com/bliki/TechnicalDebtQuadrant.html

Slide 11
How Quality affects software costs: http://www.sqgne.org/presentations/2010-11/Jones-Nov-2010.pdf

Slide 12
PHPUnderControl: http://phpundercontrol.org/
Sonar: http://www.sonarsource.com/

Slide 17 - Debugging tools:
XDEBUG: http://xdebug.org/
PHP lint: http://www.icosaedro.it/phplint/
JS lint + hint: http://www.jslint.com/ , http://www.javascriptlint.com/ , http://www.jshint.com/
Debug Bar plugins: https://wordpress.org/plugins/search.php?q=debug+bar
Firebug: http://getfirebug.com/
Profile: https://github.com/joehoyle/Time-Stack
Profile plugins: http://wordpress.org/plugins/p3-profiler/

Slide 18 - Educate yourself:
WP Codex: http://codex.wordpress.org/
WP Dev Reference: http://developer.wordpress.org/reference/
PHP manual: http://php.net/manual
Jquery manual: http://api.jquery.com/
phpcheatsheets.com: http://phpcheatsheets.com/
OWASP top 10: http://owasp.org/

Slide 21
WP Coding standards: http://make.wordpress.org/core/handbook/coding-standards/ and https://github.com/Automattic/PhpStorm-Resources

Slide 22
PHP Code Sniffer: http://pear.php.net/package/PHP_CodeSniffer/

Slide 23
WP ruleset for PHPCS: https://github.com/WordPress-Coding-Standards/

Slide 26
Webbased PHP code sniffer: http://www.webcodesniffer.net/

Slide 27
PHP cross-version compatibility ruleset for PHPCS: https://github.com/wimg/PHPCompatibility

Slide 32
WP Documentation standards: http://make.wordpress.org/core/handbook/inline-documentation-standards/php-documentation-standards/

Slide 37
PHPDocumentor: http://www.phpdoc.org/
PHPDox: http://phpdox.de/
WP Documentor (proof of concept): https://github.com/jrfnl/wp-hook-documentor

Slide 41
PHPUnit: http://phpunit.de/

Slide 43
WP handbook on automated testing: http://make.wordpress.org/core/handbook/automated-testing/
WP unit test suite: https://unit-tests.svn.wordpress.org/trunk/tests/
WP testing with mocking: https://github.com/10up/wp_mock

Slide 47
pDepend: http://pdepend.org/
PHPLOC: https://github.com/sebastianbergmann/phploc

Slide 48
PHP Mess Detector: http://phpmd.org/

Slide 49
PHP Copy Paste Detector: https://github.com/sebastianbergmann/phpcpd

Slide 50
PHP Dead Code Detector: https://github.com/sebastianbergmann/phpdcd

Slide 55
Git hooks: http://git-scm.com/docs/githooks.html and http://git-scm.com/book/en/Customizing-Git-Git-Hooks
Phing: http://www.phing.info/
Grunt: http://gruntjs.com/
Capistrano: http://capistranorb.com/
Sonar: http://www.sonarsource.com/
Jenkins: http://jenkins-ci.org/
Travis: https://travis-ci.org/

Slide 57
Bonus link: http://stilldrinking.org/programming-sucks

Slide 58
Geek and Poke: http://geek-and-poke.com/
OSNews: http://osnews.com/comics