Setting up your development environment

Post on 04-Jun-2015

850 views 2 download

Tags:

description

This presentation is a snapshot how I have setup my development environment. I am constantly evaluating, so this presentation is constantly changing. It gives developers and people that are planning to start with development practical tips, I am presenting in some way best practicals. Because it is my view and what I have found it is also questionable. I am talking about coding styles, Editors, IDE, build tools like phing, git and all that stuff.

Transcript of Setting up your development environment

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