Post on 04-Jun-2015
description
Development ToolsJoomladagen 2013
Robert Deutz
Challenges
DEVELOPMENT
TESTINGPA
CKAG
ING
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 knowsWRONG
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 formattingCode 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 filesreplace tags in files
extendable
executing commands
packaging
checkout from a repository
copy filesreplace tags in files
Extendable
2 FILES
map
packaging
Hartstikke bedankt!
Twitter: rdeutzEmail: rdeutz@gmail.comWeb1: rdbs.deWeb2: babioon.comWeb3: 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