Recipes for successful CakePHP projects

Post on 14-May-2015

2.856 views 1 download

Tags:

description

Slides from the talk given by Felix Geisendörfer during the CakeFest #3 - July 2009Note: the original pdf can be found on cakephp.org

Transcript of Recipes for successful CakePHP projects

Recipes for successful CakePHP Projects

Tools & best practices for tasty cake apps

Felix Geisendörfer

CakePHP since 2005

Worked on core since early 2007

ThinkingPHP.org -> Debuggable.com

Good Communication(= less code, more results)

E-Mail

E-Mail

No need for instant responses

Decentralized

Works offline

The Good Parts

E-Mail

CC, BCC, Threads - who knows what?

Full inboxes, people waiting

Return on Investment

The Bad Parts

When to use e-mail

Time zone differences

Announcements, Spawning debates

Emergency notification

E-Mail Tools

Mailing lists

Shared e-mail accounts

Automated e-mails for commits, etc.

Instant Messenger

IM

Instant communication

Group chat

Voice, Video, Screen

The Good Parts

IM

Distraction !!

Multi-tasking = yeah, right

History, Incompatibility

The Bad Parts

IM Tools

iChat, Adium, etc.

Campfire

Skype

Task Management(getting less done in more time)

The truth first

Problems with Task Management

Getting tasks in

Tracking tasks

Getting tasks done

Tools I like

Pen & paper + text files

OmniFocus (Mac only)

Lighthouse / TheChaw (Trac for Git)

FocusNobody else will do it for you

What works25 minute sessions (pomodorotechnique.com)

E-mails twice a day, IM off in morning

Clear goals, every day

Unit Testing

Failing at unit testing100% code coverage

Test driven development

Expecting everybody to write & run tests

Where the money is

Top-down testing

Performance testing

Re-assembling

Continuous Integration

Rolling your own CI box

Post-receive Hook from Git

Run unit tests, check exit code

Log results, notify IM / Email / etc.

Expect 1 day of work, but it’s worth it

Pair programmingScaling your coding powers

Pair Programming 101

1 Computer, 2 people

One person types & explains

One person listens & suggests

VirtualizationSo you can destroy the environment

virtual box vmware

Version Control(Because there is plenty of blame to go around)

In the beginning, there was pain

CVS & SVN gave some hope

But branching sucked

So Linus gave us Git

CakePHP & Git

CakePHP is switching from SVN to Git

Git is fantastic for cake apps as well

Decentralized, offline, fast

Command Line(= power)

The Chaw(= CakePHP based Git GUI)

GitHub(= Commercial & Free Git hosting)