Development Tools
Joomladagen 2013
Robert Deutz
Challenges
DEVELOPMENT
TESTING
PACKAGING
5 Areas
Version Control
1
Code quality and consistency
2
Integrated Development
Environment
3
Some little tools
4
Build tools
5
1
Version Control
Never do development without a
version control system
RULE 1
CVS SVN
MercuryGit
Centralised
Distributed
Centralised Version Control Systems
• very popular at the end of the last century
• complicated when working in not centralised teams
• merging and working on different things at the same moment is complicated
• still room for using it but NOT in an Open Source Project like Joomla!
Distributed
• Best thing since sliced bread
• good for not centralised teams
• Supports merging and branching in an easy way
• It allows a group of people to work on different ideas and in parallel on a
single codebase
CVS SVN
MercuryGit
Centralised
Distributed
GIT
try.github.com
Got 15 minutes and want to learn Git?
Tools if you don‘t like the command line
Tower (MAC)
Source Tree (MAC)
2
Code quality and consistency
Write beautiful and well documented
code.
RULE 2
ALWAYS
We do
• use brackets
• use tabs
• format code always in the same way
• use meaningful function, variable, methods and class names
• use phpDoc Blocks
• not copy code (DRY: don‘t repeat yourself)
We write helpful comments
As I wrote this code only
god and I know what it is
doing, now only god knows
WRONG
Registers a handler to a
particular event group.
RIGHT
3
Integrated Development
Environment
(IDE)
We are using an IDE
RULE 3
WHEN IT MAKES SENSE
I don‘t care which one
IDEs
• Eclipse (Zend Studio, phpEclipse, .....)
• PHP Storm (free license for Joomla! developers)
• NetBeans IDE
• ......
Cooler Editor: Sublime Text
• Packages for almost everything we need
• extremely fast
• Edit features from heaven
• .... but not an IDE
• comes closer and closer
How to chose a IDE
• Don‘t give up!
• It need‘s time, so think first about your requirements
• Think about your development process, what you have to do to make sure
that you can support your process properly
My Setup
4
Some little tools
We are trying to automate steps in
our development process
RULE 4
DEVELOPERS ARE LAZY
Code formatting
Code Sniffer
phpcs --standard=Joomla *
OR
integrate it in editor / IDE
PHP Documenter
Creates from your well documented
and formated code an API
documentation,
with just a klick
5
Build tools
Don‘t do it by yourself when a script
can do it for you
RULE 5
PHING
(phing.info)
extendable
executing commands
packaging
checkout from a repository
copy files
replace tags in files
extendable
executing commands
packaging
checkout from a repository
copy files
replace tags in files
Extendable
2 FILES
map
packaging
Hartstikke bedankt!
Twitter: rdeutz
Email: rdeutz@gmail.com
Web1: rdbs.de
Web2: babioon.com
Web3: robert-deutz.de
[1] http://digitaldisseny.com/en/blog/141-setting-up-codesniffer-to-validate-joomla-coding-standards-on-ubuntu
[2] http://git-scm.com
[3] http://docs.joomla.org/Git_for_Testers_and_Trackers

Setting up your development environment