68

TDD with Google Spreadsheets

Embed Size (px)

Citation preview

Page 1: TDD with Google Spreadsheets
Page 2: TDD with Google Spreadsheets
Page 3: TDD with Google Spreadsheets

{who: „Wolfram Kriesing“,what: „uxebu Co-Founder“,since: „2008“,does: „web apps since 1999“,

url: „http://uxebu.com“,twitter: „@WolframKriesing“

}

Page 4: TDD with Google Spreadsheets
Page 5: TDD with Google Spreadsheets
Page 6: TDD with Google Spreadsheets
Page 7: TDD with Google Spreadsheets

{what: „ES6 learning by doing“,

when: „new kata every day“,

url: „http://ES6katas.org“,twitter: „@es6katas“

}

Page 8: TDD with Google Spreadsheets
Page 9: TDD with Google Spreadsheets

{what: „ready to use TDD env“,

why: „practice, practice, practice“,

url: „http://TDDbin.com“,twitter: „@tddbin“

}

Page 10: TDD with Google Spreadsheets
Page 11: TDD with Google Spreadsheets

{what: „TDD, pairing, clean code“,

when: „every 3 months“,next: „5th September 2015“,

url: „http://jsCodeRetreat.com“,twitter: „@jsCodeRetreat“

}

Page 12: TDD with Google Spreadsheets

TDD with Google Spreadsheets

Page 13: TDD with Google Spreadsheets
Page 14: TDD with Google Spreadsheets

TDD?

Page 15: TDD with Google Spreadsheets
Page 16: TDD with Google Spreadsheets

SIM PLI

CITY

Page 17: TDD with Google Spreadsheets
Page 18: TDD with Google Spreadsheets

IHADTO

Page 19: TDD with Google Spreadsheets

ITOX!

e x p l a i n

Page 20: TDD with Google Spreadsheets

ITOX!TO AKID

Page 21: TDD with Google Spreadsheets
Page 22: TDD with Google Spreadsheets

USCOF

Page 23: TDD with Google Spreadsheets

FUSCOon

what?

Page 24: TDD with Google Spreadsheets

TESTF R A M EWORKS

Page 25: TDD with Google Spreadsheets

TESTF R A M EWORKS?

Page 26: TDD with Google Spreadsheets

expect().toBe()

expect().to.be()

assert.equal()

Page 27: TDD with Google Spreadsheets

Jasmine image…

Page 28: TDD with Google Spreadsheets

mocha image…

Page 29: TDD with Google Spreadsheets

many others, doh, quint, jsunit, tap, …

Page 30: TDD with Google Spreadsheets

TEST

u n d e r d a h o o d

FRA MEWORK

Page 31: TDD with Google Spreadsheets

undefined

AssertionError: 1 == 2 at repl:1:9 at REPLServer.self.eval (repl.js:110:21) at Interface.<anonymous> (repl.js:239:12) at Interface.EventEmitter.emit (events.js:95:17) at Interface._onLine (readline.js:202:10) at Interface._line (readline.js:531:8) at Interface._ttyWrite (readline.js:760:14) at ReadStream.onkeypress (readline.js:99:10) at ReadStream.EventEmitter.emit (events.js:98:17) at emitKey (readline.js:1095:12)

> assert.equal(1,2)

$ node> assert.equal(1,1)

Page 32: TDD with Google Spreadsheets

assert.js:92 throw new assert.AssertionError({ ^AssertionError: 1 == 2 at Object.<anonymous> (/Users/cain/tmp/fail.js:1:81) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:902:3

> cat fail.jsrequire('assert').equal(1,2);console.log('failed?');

> node fail.js

Page 33: TDD with Google Spreadsheets

KIND OF TEST

Page 34: TDD with Google Spreadsheets
Page 35: TDD with Google Spreadsheets

STYLE

Page 36: TDD with Google Spreadsheets

https://www.goodreads.com/quotes/tag/learning

Page 37: TDD with Google Spreadsheets
Page 38: TDD with Google Spreadsheets

reduce it to the core

=

focus

Page 39: TDD with Google Spreadsheets

THE TASK

Page 40: TDD with Google Spreadsheets

https://github.com/search?utf8=✓&q=roman+numerals

Page 41: TDD with Google Spreadsheets

https://github.com/search?l=JavaScript&q=roman+numerals&type=Repositories&utf8=✓

Page 42: TDD with Google Spreadsheets

https://github.com/marcusholmgren/RomanNumerals/blob/master/spec/romanConverterSpec.coffee

Page 43: TDD with Google Spreadsheets

https://github.com/Ginkko/roman/blob/master/spec/specs.js

Page 44: TDD with Google Spreadsheets

https://github.com/Bryukh-Checkio-Tasks/checkio-task-roman-numerals/blob/master/verification/tests.py

Page 45: TDD with Google Spreadsheets

https://github.com/davidbaldwin/roman/blob/master/src/_roman_test.js

Page 46: TDD with Google Spreadsheets

Noise

polluting our intent

Page 47: TDD with Google Spreadsheets

noise pollution the programming language

Page 48: TDD with Google Spreadsheets

noise pollution the programming language

Page 49: TDD with Google Spreadsheets

Let’s remove it!

Page 50: TDD with Google Spreadsheets

Language noise++

Page 51: TDD with Google Spreadsheets

Language noise++

Page 52: TDD with Google Spreadsheets

FRA MEWORK

Page 53: TDD with Google Spreadsheets

FRA MEWORK

Page 54: TDD with Google Spreadsheets

Photo by Great Beyond - Creative Commons Attribution-NonCommercial-ShareAlike License https://www.flickr.com/photos/26104563@N00 Created with Haiku Deck

lots of work done

Page 55: TDD with Google Spreadsheets

?

Page 56: TDD with Google Spreadsheets
Page 57: TDD with Google Spreadsheets

Completely Missing

• result beside test

• ugly stack traces

• context switch necessary

Page 58: TDD with Google Spreadsheets

Noise covers

and blurs

Page 59: TDD with Google Spreadsheets

N O W

LET’S CODE

Page 60: TDD with Google Spreadsheets

EX AMP LES

Page 61: TDD with Google Spreadsheets
Page 62: TDD with Google Spreadsheets
Page 63: TDD with Google Spreadsheets
Page 64: TDD with Google Spreadsheets
Page 65: TDD with Google Spreadsheets
Page 66: TDD with Google Spreadsheets
Page 67: TDD with Google Spreadsheets

ES6 Katas

JS CodeRetreat

TDD bin

Page 68: TDD with Google Spreadsheets

uxebu.com/workshop

@WolframKriesing