Upload
edorian
View
2.656
Download
0
Embed Size (px)
DESCRIPTION
My short talk at the berlin php user group about phpmd and phpcs..
Citation preview
YOUR (CODING) STANDARDSMATTER
ABOUT MESoftware EngineerPHP since 11 yearsCICleanCodeDevOpsTDDShippingBullet points
WORKING FOR
ResearchGate gives science back to the people who make it happen.
We help researchers build reputation and accelerate scientificprogress.
On their terms.
GET IN TOUCH
stackoverflow:
Twitter: @_ _edorian
G+ / Xing: Volker Dusch
IRC (freenode): edorian
Mail: [email protected]
WHY I AM HERE TODAY
SO WHAT IS THIS TALK ABOUT?
PHP!
CODING GUIDELINES!
THE TOOLSPHP MESS DETECTOR
Complexity, long term maintainability, keeps you honest whendesigning
PHP CODE SNIFFERCode formatting, simple coding errors, helps you stay consistent in a
team
PURPOSE (IMHO)PHPMD is for naming, size, complexity and all the hard to changethings
PHPCS is for whitespace and all the things that are easy to fix
HOW TO MAKE USE OF THEMConfigure rules that match the way you are working!
It's easier than it feels!
WHAT ABOUT STANDARDS?PHPMD: Use all the rules, they are reasonable. Configure them later
PHPCS: Use PSR2. Replace things if they don't work for your team
INSTALLING{ "require": { "squizlabs/php_codesniffer": "*", "phpmd/phpmd": "*" }, "config": { "bin-dir": "/usr/local/bin/" }}
DEMOLet's create ruleset files for both of the tools :)
http://edorian.github.io/php-coding-standard-generator/#phpmd
COMMANDS USEDUse most of PHPMDs rules:
Use your custom ruleset:
Use PSR2 with PHPCS:
Use your own PHPCS rules:
phpmd source text codesize,unusedcode,naming,design
phpmd source text phpmd.xml
phpcs --standard=PSR2 source/
phpcs --standard=phpcs.xml source/
CONTINUOUS INTEGRATIONReal world usage along a projects lifecylce
Pretty graphs in Jenkins!Fail your travis ci build on phpcs errors?Fail your travis ci build on phpmd errors???
THANK YOU!
QUESTIONS?
GET IN TOUCH
stackoverflow:
Twitter: @_ _edorian
G+ / Xing: Volker Dusch
IRC (freenode): edorian
Mail: [email protected]