building rock solid software in the real world
DESCRIPTION
Though I doubt they'll be that useful without the talk (http://www.ustream.tv/recorded/18398170), here's my slides.TRANSCRIPT
Building rock solid software
in the real world
Improving teamworkflow to
improve your software
http://www.flickr.com/photos/preef/32995286/
Omni Adams@omnicolor
About me
About me
About me
About me
About me
http://www.flickr.com/photos/nagamori/56038263/
Planning
Coding
http://www.angryduck.com/pictures/2010_11/Coding_Drunk.jpg
Automated checks
http://www.bbc.co.uk/comedy/littlebritain/images/gallery/sunsearchers.jpg
Code reviews
Submitting your code
$ cd /pub$ more beer
Code gets built You get tanked
After code is submitted
Automatic checks
Automated checks
• Lint• PHPUnit• PHP_CodeSniffer• PHPMD• PHPCPD• PHPDCD• Code coverage
http://www.inquisitr.com/88424/a-hint-you-might-really-need-to-find-a-life-collect-bellybutton-lint/
Automatic checks
Lintphp -l
Automatic checks
PHPUnit
Automatic checks
PHPCode_Sniffer
Automatic checks
http://itsnotenoughitstoomuch.blogspot.com/2011/02/real-mess.htmlhttp://phpmd.org/
Automatic checks
PHPCPD
PHPDCD
Automatic checks
Automatic checks
Code Coverage
Code reviews
http://cache.ohinternet.com/images/b/b1/Doing-it-wrong.jpg
http://www.reviewboard.org
Code reviews
http://codereview.appspot.com
Code reviews
Code reviews
Code reviews
Code reviews
Things the tools can't catch:
• Logic errors• Off-by-one errors• Obvious performance
problems• Refactoring opportunities• Bad/misleading
documentation
Things the tools missed:
• Style problems• Syntax errors• Typos• Unreachable code• Useless tests• Missing tests
Code reviews
Style guides
http://www.forwardyouremails.com/wp-content/uploads/2010/09/Funny-Hair-Style.jpg
Style guides
Style guides
•Make your own•Use existing
Style guides
Style guides
Style guides
<?php or <? or <%
$variableName or $variable_name
ClassName or Class_Name
Line length
Ternary operator
Documentation
Submitting code
After submitting
After submitting
After submitting