Presented on October 3rd 2015 at the PHP North West, Manchester, United Kingdom.
http://conference.phpnw.org.uk/phpnw15/
---------------------------------------------------------------
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
Technical debt in PHP projects: http://blog.insight.sensiolabs.com/2014/11/04/technical-debt-relevant-projects.html
Slide 11
Types of Technical Debt: http://www.martinfowler.com/bliki/TechnicalDebtQuadrant.html
Slide 12
How Quality affects software costs: http://www.sqgne.org/presentations/2010-11/Jones-Nov-2010.pdf
Slide 14
PHPUnderControl: http://phpundercontrol.org/
Sonar: http://www.sonarsource.com/
Slide 19
PSRs: http://www.php-fig.org/
Slide 20 - 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/
Firebug: http://getfirebug.com/
Profile: https://github.com/joehoyle/Time-Stack
Slide 21 - Educate yourself:
PHP manual: http://php.net/manual
PHP The Right Way: http://phptherightway.com/
ClearPHP: https://github.com/dseguy/clearPHP/blob/master/rules/README.md
phpcheatsheets.com: http://phpcheatsheets.com/
OWASP top 10: http://owasp.org/
Slide 28
PHP Code Sniffer: http://pear.php.net/package/PHP_CodeSniffer/
PHP CS-Fixer: http://cs.sensiolabs.org/
Slide 30
PHP cross-version compatibility ruleset for PHPCS: https://github.com/wimg/PHPCompatibility
Slide 38
PHPDocumentor: http://www.phpdoc.org/
PHPDox: http://phpdox.de/
ApiGen: http://www.apigen.org/
Slide 43
PHPUnit: http://phpunit.de/
Slide 45
Codeception: http://codeception.com/
Behat: http://behat.org/
Selenium: http://docs.seleniumhq.org/
Slide 48
pDepend: http://pdepend.org/
PHPLOC: https://github.com/sebastianbergmann/phploc
Slide 49
PHP Mess Detector: http://phpmd.org/
Slide 50
PHP Copy Paste Detector: https://github.com/sebastianbergmann/phpcpd
Slide 51
PHP Dead Code Detector: https://github.com/sebastianbergmann/phpdcd
Slide 56
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/
Robo: http://robo.li/
Grunt: http://gruntjs.com/
Capistrano: http://capistranorb.com/
Gulp: http://gulpjs.com/
Slide 57:
Sonar: http://www.sonarsource.com/
Jenkins: http://jenkins-ci.org/
Travis: https://travis-ci.org/
Scrutinizer CI: http://scrutinizer-ci.com/
Circle CI: https://circleci.com/
PHP-CI: https://github.com/block8/phpci
Atlassian Bamboo: https://www.atlassian.com/software/bamboo
Exakat: http://www.exakat.io/online-demo/
Slide 62
Geek and Poke: http://geek-and-poke.com/
OSNews: http://osnews.com/comics
Slide 63:
Slides - well, you found them already ;-)
Feedback: https://joind.in/15432
Contact me: https://twitter.com/jrf_nl