Top 3 Agile Development Tips
Test Before You Write Code
Simple enough, writing a test allows you to officially describe what you you plan to write.
- write a test
- run it to see it fail - this means your test looks good
- write the code to make the test pass
- run the test to see it pass - this means your code works
Not only will you have better code because you put more thought into it but you will also have automated tests to prevent regression.
Code Atomically
A sailor must adjust the course whenever the wind changes. Sure if the changes are suddle he might be fine simply adjusting how tight the ropes are but if the changes are drastic he will have to do more than a slight adjustment.
Coding is the same except you are the sailor and all other programmers are the wind. Every time they make a change you potentially have to adjust course. How do you know? Well you have to checkin and update often to know.
- reduce the time between each checkins - this minimizes the chances of conflicts and if you need to revert you don’t have as much wasted time
- make each checkin fix a single problem - makes it easier to write commit message and track changes
Elegance Over Cleverness
Clever code is often too clever. It gives your colleagues a hard time when they need to read. Instead aim for elegance - less useless lines but more readable lines.
DemoCamp Montreal: An Open Question To The Montreal DemoCamp Community.
On Friday I was a spectator at the DemoCampMontreal4 meetup where my brother presented url_pipe, a project I find fascinating in many respects. There were some really interesting presentations and rather than explain in this post what those were I’ll direct you to a post on Montreal Tech Watch that does so much synospis of the night than I have the energy to do.
I forsee a problem with future DemoCamps and I’d like to throw out a question to the Montreal community who enjoys the event. I’d like to see DemoCamp continue to be the great event that it is but I’m scared that we’ll start seeing companies present products and services at the event rather than good software demos.
On the main DemoCamp site there is a quote that I think explains a lot about the spirit that makes the unconference so interesting:
It’s not about you and it’s not about your company - it’s about the DEMO
I think presenting great software is what DemoCamp should continue to be about. My question to us all is wether or not we should be clearer about what we expect at future DemoCamps?
DemoCamp Montreal 3
DemoCamp Montreal 3 is happening tonight.
From my experience with the last BarCamp I’m expecting to meet some of the brightest in the city.
Essential Textmate
As all my programmers friends, co-workers and acquaintances moving towards Macs I get asked often about Textmate because I love it so much. Instead of giving everyone the 5 minutes crash course every time I thought I’d simply post here the must know things about my favorite text editor.
How to open Textmate from the command line
mate . # opens current folder as a project mate filename.txt # opens only a single file
Common key shortcuts I use
Escape # completes token, cycles through all possibilities Apple-T # Go to file in project mode Apple-option-leftArrow # move to left tab Apple-option-rightArrow # move to right tab Apple-shift-T # Go to symbol in file Apple-F2 # bookmark line (adds a star in the gutter) F2 # cycle through bookmarks Apple-shift-L # find in your project Ctrl-shift+< # creates starting and closing html tags Ctrl-shift+> # cycles through < %= %>, < % %> and < %- -%> Ctrl-shift+D # dupplicates everything from the start of the line or selection Ctrl-w # selects word/token Apple-[ or Apple-] # indents/unindents line or selection Apple-& (or Apple-shift-7 on most keyboards) # HTML entities
Advanced features I love
With mutli-line selections
Option # column mode editing Apple-option-A # end of line append
Bundle I recommend
Duane Johnson’s Bundle
This bundle offers one feature I really enjoy, it’s like column mode but where you add markers where you want with Option-S and replace them with a type as you replace string after hitting Option-F. Probably the most useful bundles of them all.
