2. Agenda
● WTF as a Metric
● Clean Code
● Bad Code Smells
● Meaningful Names and Formatting
● Comments
● Functions
● Error Handling
● Your time :)
3. About me
Jose da Silva
● VP of Engineering @ GuestCentric
● Doing good and bad PHP since PHP 3 (1999)
● Zend Certified Engineer + Certified Scrum Master
● Open Source
○ Slimframework.com contributor
● Hobbies
○ Table tennis player for more than 20 y
Twitter: josedasilva
Linkedin: linkedin.com/in/josedasilva
Email: josedasilva@gmail.com
15. Clean Code
Advantages
● Readable
● Understandable
● Less errors
● Easy to maintain ( fix, modify, learn, support)
● Testable
Hint: Time = Money
16. Clean Code
The cost of owning a mess
http://www.informit.com/articles/article.aspx?p=1235624&seqNum=3
17. Bad Code smells
Mostly found on legacy code
● No separation between PHP and HTML
● Lots of requires
● Global Variables
● No Database Abstraction Layer
http://www.sxc.hu/photo/967754
21. Meaningful Names
1. Bad variable name $n
2. Bad variable name $t
3. Dispensable comments
4. Missing code indentation
22. Meaningful Names
1. Bad variable name $n
2. Bad variable name $t
3. Dispensable comments
4. Missing code indentation
23. Comments
The main purpose of comment is to explain
code.
Please don't use a comment when you can use a
function or variable.
Comments can contain lines
38. Your best friends = Tools
PHPLOC by Sebastian Bergman
https://github.
com/sebastianbergmann/phploc
Quick analysis on the status of the code
Cyclomatic Complexity Analysis
Comment lines of code
Lines of code / Number of methods
... http://techportal.inviqa.com/2010/01/28/phploc-php-lines-of-code/
39. Your best friends = Tools
PHPMD by Manuel Pichler
http://phpmd.org/
Code Size Rules
Design Rules
Naming Rules
Unused Code Rules
Excessive Parameter List
...
40. Your best friends = Tools
PHP CodeSniffer
http://pear.php.net/package/PHP_CodeSniffer/
Helps you to keep your code readable.
http://techportal.inviqa.com/2009/10/12/usphp_code_sniffer/
41. How to keep your code clean ?
1. Refactor
2. Refactor
3. Refactor
4. Frequent Peer Reviews
5. Follow Naming Conventions
6. Don't comment and leave code behind, just
DELETE it
7. Use the tools often (PHPLOC, PHPMD, PHPCodeSniffer)
8. Keep your logs shell open all the time
42. Recap : Clean Code
What's clean code anyway ?
Formatted , Organized and Easy to read/modify
43. References
Clean Code by Hendrik Ebel
http://www.slideshare.net/hebel/clean-code
You code sucks, let's fix it by Rafael Dohms
http://www.slideshare.net/rdohms/bettercode-phpbenelux212alternate
Clean Code Barcelona 2009 by Jan W. Eshuis
http://www.slideshare.net/jwenl/clean-code-barcelona-2009
http://techportal.inviqa.com/2010/01/28/phploc-php-lines-of-code/
44. We're hiring
1. Back-end PHP Engineer
2. Front-end Engineer
3. Software Tester (QA)
4. System Administrator
If you are interested or know someone who, just contact me!
jose@guestcentric.com
45. Your time
Questions ? Comments ? Both ?
Thank you!
Feedback welcomed
https://joind.in/talk/view/8815
Twitter: josedasilva
Linkedin: linkedin.com/in/josedasilva
Email: josedasilva@gmail.com