building rock solid software in the real world

Post on 18-Nov-2014

520 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

top related