perth codedojo 5-anagram-algorithm

27
Perth Code Dojo 5 @willwebst #CodeDojo

Upload: will-webster

Post on 22-Jul-2015

72 views

Category:

Technology


0 download

TRANSCRIPT

Perth Code Dojo5 @willwebst

#CodeDojo

Check-In➔ Your name➔ What do you want for Christmas?➔ Do you believe in Santa?

Code Dojo FormatA Coding Dojo is a coding session centered around a programming challenge.

The dojo provides a safe place to learn and experiment away from the pressures of business delivery.

All programmers of varying skill levels meet as equals to learn and share.

Software Craftsmanship“Deliberate practice is closely related to the attained level of performance of many types of experts” - Dr. K. Anders Ericsson

Dojo Rules➔ Paired Programming➔ Simple Design➔ Test Driven Development➔ Refactoring

XP Practices➔ Test Driven Design

◆ Red - Green - Refactor◆ Keep the unit small◆ DESIGN / Design by contract◆ Flow

XP Practises➔ Benefits

◆ More extensible and maintainable solutions◆ Quality improvements / cost of defects◆ Automated builds◆ Peer reviews / pairing◆ Confidence to refactor◆ Coverage◆ Legacy code

XP Practises➔ Disadvantages / challenges

◆ Requires buy in◆ Learning curve◆ Purest approach ◆ Overly loose coupling◆ Not always productive◆ Potential overconfidence◆ Tests require maintenance / refactoring

Pomodoro➔ Pomodoro Technique

◆ 25 mins on, 5 mins off◆ http://tomatoi.st/perthcodedojo

➔ Four iterations

Retro & PizzaClosing with Pizza and a mini retrospective

➔ Share solutions on the big screen➔ Discuss challenge / approach➔ Feedback on the dojo

Polite NoticePlease respect each others commitment.

During a Pomodoro.➔ No Facebook➔ Mobile phones➔ Etc.

Have Fun!Most importantly have fun!

➔ Drinks are available - help yourselves

ObjectiveGiven a word list, containing one word per line.

Find all the combinations of each word which are anagrams.

ObjectiveExamples:

Webster - bestrewSoftware - forwaste

ObjectiveThink about the algorithm approach

● Simplest● Fastest

Test First!

Find Anagramshttp://codekata.com/data/wordlist.txt

Find all the anagrams contained within the list for each word

Begin!

25 mins

Stop!

5 mins

Remove Acronyms

Remove any non-words● ACB● BBSes● BMW's

Begin!

25 mins

Stop!

5 mins

Remove Non-English

Remove any words which contain non-UFT8 characters● étagères● Ångströms● Österreich's

Remove an names - starting with uppercase

Begin!

25 mins

Stop!

5 mins

Thank You - Dave Thomas

Credit goes to @PragDave / Ruby community for this Katak

Check out - http://codekata.com/

Great source for Code Katas.

Thank you sponsors!Code - http://github.com/burlistic

Slides - http://speakerdeck.com/burlistic

@willwebst

Mini Retro

How did everyone find the exercise?

Small break for Christmas. See you in 2015!

Next up - Decoupling Logic from the UI