Your SlideShare is downloading. ×
0
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Story driven development i Erlang
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Story driven development i Erlang

340

Published on

En presentation om mina erfarenheter från att utveckla ett ramverk för story driven development i Erlang. …

En presentation om mina erfarenheter från att utveckla ett ramverk för story driven development i Erlang.

Talare är Måns Sandström från Adaptiv Sthlm AB

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
340
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • För ca två år sedan började jag kolla lite på erlang.
    Det som sades om erlang då:
  • Framtidens språk för flerkärniga processorer
  • Går bara att göra rena och eleganta lösningar

  • Bara en liten elit av hjärnor är skapta för att skriva erlang.
  • Alla dessa utsagorna triggade mig.
    Jag vill vara med i framtiden
    Jag gillar eleganta lösningar
    Provocerad av tanken på att IQ skulle ha med saken att göra
    Provocerad av tanken på att behöva ge upp TDD i framtiden
  • Så jag satte igång...
  • Och visst var det en lite stökig väg till en god förståelse.
    Jag var inte helt förtjust i dekonstruktion med hjälp av bitsyntaxen som återfinns på sid 95 i boken.
  • Men jag hittade eunit för enhetstester. Lite old-school men fungerade riktigt bra.

  • Fann att de dynamiska egenskaperna hos erlang tillåter isolerade tester.
  • Däremot verkade det inte finnas något cucumberliknande verktyg för story driven development. Det fanns en lite ogenomtänkt plugin till FitNesse, men den verkade inte förvaltas aktivt.
  • Så jag bestämde mig för att göra något liknande cucumber för erlang.
  • Givetvis råkade jag genast på svårigheter.

  • I vårt kära Given-When-Then mönster så fungerar Given som skedet då systemet prepareras med data lite så som man pryder en julgran.
  • Erlang använder inte sådana julgranar, istället har de skorstenar. Den data man skickar till en erlang process försvinner bara ner i ett svart hål för en betraktares synvinkel. Det är liksom hela tanken med att programmera utan sidoeffekter. Vilket fick mig att tänka.
  • Vi har lutat oss så tungt mot rådande paradigmer att vi har bestämt att våra kunder ska uttrycka sig om vår programvara som att det är åtråvärt att den är full av sidoeffekter. Oops.
  • Så frågan är väl om man ska lära kunderna att se system som rena funktioner eller som objekt med sidoeffekter? Eller är den frågan ställd på fel nivå?
  • Min utgångspunkt är att det är kunderna har inte drivit fram Given-When-Then-konceptet. Det är vi nördar som gjort det och kunder blir inte upprörda över lite frihetsgrader på den punkten.
  • Filer, databaser, och processer. Så jag vill ju inte skapa ett system som helt naivt bortser från att utvecklare vill använda sig av den möjligheten.
  • Jag vet alltför väl att mina ordval inte kommer att vara de bästa därför låter jag det vara helt öppet i Cloudberry.
    Den enda konventionen just nu är att varje rad i ett scenario ger upphov till ett anrop mot en steps-modul.

  • Om man vill ta en titt genom staketet in till byggröran och kanske, rentav, hjälpa mig komma till rätta med den.

  • Transcript

    • 1. In o rder to re meone unr egistered As so webpage ant to sig nup on the Iw Scenario : nregister ed visitor n I am a p reviously u Give ister as an attendant W hen I reg is saved Then my i nformation d a uid is generated An Story driven And I see a confirmat ion page an email w ith an un ique link An d I receive development i Erlang Måns Sandström
    • 2. My future is so bright I got to wear shades...
    • 3. TDD - omöjligt!
    • 4. Huh!?
    • 5. Cloudberry
    • 6. Given
    • 7. Hoho!
    • 8. Given-When-Then är ett sidoeffektsorienterat sätt att utveckla programvara.
    • 9. Det var han som började!
    • 10. Dessutom finns det sidoeffekter i Erlang
    • 11. Därför finns inga nyckelord i Cloudberry
    • 12. Vilket också gör den oberoende av i18n
    • 13. git://github.com/msa/cloudberry.git
    • 14. S cenario: ad jag vill Här sk river jag v arameter’ ed och sk ickar en ‘p H är m h - spelar ingen roll. Svenska or Englis Story driven development i Erlang Måns Sandström

    ×