Presented on May 10th 2014 at WordCamp NL, Utrecht, The Netherlands.
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