![Page 1: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/1.jpg)
Building rock solid software
in the real world
Improving teamworkflow to
improve your software
http://www.flickr.com/photos/preef/32995286/
![Page 2: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/2.jpg)
Omni Adams@omnicolor
![Page 3: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/3.jpg)
About me
![Page 4: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/4.jpg)
About me
![Page 5: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/5.jpg)
About me
![Page 6: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/6.jpg)
About me
![Page 7: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/7.jpg)
About me
![Page 8: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/8.jpg)
http://www.flickr.com/photos/nagamori/56038263/
![Page 9: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/9.jpg)
![Page 10: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/10.jpg)
Planning
![Page 11: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/11.jpg)
Coding
http://www.angryduck.com/pictures/2010_11/Coding_Drunk.jpg
![Page 12: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/12.jpg)
Automated checks
http://www.bbc.co.uk/comedy/littlebritain/images/gallery/sunsearchers.jpg
![Page 13: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/13.jpg)
Code reviews
![Page 14: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/14.jpg)
Submitting your code
![Page 15: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/15.jpg)
$ cd /pub$ more beer
Code gets built You get tanked
After code is submitted
![Page 16: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/16.jpg)
Automatic checks
![Page 17: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/17.jpg)
Automated checks
• Lint• PHPUnit• PHP_CodeSniffer• PHPMD• PHPCPD• PHPDCD• Code coverage
![Page 18: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/18.jpg)
http://www.inquisitr.com/88424/a-hint-you-might-really-need-to-find-a-life-collect-bellybutton-lint/
Automatic checks
Lintphp -l
![Page 19: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/19.jpg)
Automatic checks
PHPUnit
![Page 20: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/20.jpg)
Automatic checks
PHPCode_Sniffer
![Page 21: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/21.jpg)
Automatic checks
http://itsnotenoughitstoomuch.blogspot.com/2011/02/real-mess.htmlhttp://phpmd.org/
![Page 22: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/22.jpg)
Automatic checks
PHPCPD
![Page 23: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/23.jpg)
PHPDCD
Automatic checks
![Page 24: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/24.jpg)
Automatic checks
Code Coverage
![Page 25: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/25.jpg)
Code reviews
http://cache.ohinternet.com/images/b/b1/Doing-it-wrong.jpg
![Page 26: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/26.jpg)
http://www.reviewboard.org
Code reviews
![Page 27: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/27.jpg)
http://codereview.appspot.com
Code reviews
![Page 28: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/28.jpg)
Code reviews
![Page 29: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/29.jpg)
Code reviews
![Page 30: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/30.jpg)
Code reviews
![Page 31: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/31.jpg)
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
![Page 32: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/32.jpg)
Style guides
http://www.forwardyouremails.com/wp-content/uploads/2010/09/Funny-Hair-Style.jpg
![Page 33: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/33.jpg)
Style guides
![Page 34: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/34.jpg)
Style guides
•Make your own•Use existing
![Page 35: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/35.jpg)
Style guides
![Page 36: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/36.jpg)
Style guides
![Page 37: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/37.jpg)
Style guides
<?php or <? or <%
$variableName or $variable_name
ClassName or Class_Name
Line length
Ternary operator
Documentation
![Page 38: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/38.jpg)
Submitting code
![Page 39: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/39.jpg)
After submitting
![Page 40: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/40.jpg)
After submitting
![Page 41: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/41.jpg)
After submitting
![Page 42: Building rock solid software in the real world](https://reader034.vdocument.in/reader034/viewer/2022051513/546b226caf79599b248b50af/html5/thumbnails/42.jpg)