XP Meetup - Norsk ræl i vakker engelskspråklig kode

504 views

Published on

Bevar domenebenevninger i koden - ikke oversett kun av estetiske årsaker.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
504
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Blanding av norsk og engelsk i kode I har snakka om detta før- både på lightning talks i juli (men det va jo mest sånn test da) I heite Eirik Torske – I jobba på BBS (og detta e henta direkte fra erfaringa derfra, fra et stort pågående prosjekt)
  • Ja, ka snakke vi om… Jo, vi snakke om slike ting som detta her! [klikk]
  • Detta ser jo unektelig ganske rart ut
  • Nåkken vil argumentere for at detta e: [klikk]
  • UESTETISK KODEN BLIR IKKE VEDLIKEHOLDBAR (SIDEN DET STENGE UTE IKKE_NORSKSPRÅKLIGE) AVVIKER FRA STANDARD
  • UESTETISK KODEN BLIR IKKE VEDLIKEHOLDBAR (SIDEN DET STENGE UTE IKKE_NORSKSPRÅKLIGE) AVVIKER FRA STANDARD
  • UESTETISK KODEN BLIR IKKE VEDLIKEHOLDBAR (SIDEN DET STENGE UTE IKKE_NORSKSPRÅKLIGE) AVVIKER FRA STANDARD
  • Alternativet er jo å kutte ut norsk-rælet og kjøre engelsk over hele linja… Men poenget er at det kan få atskillig værre konsekvensa!
  • Men – alternativet kan bli mye verre! Når man oversetter norske domenebegreper må vi spørre oss om vi virkelig kan gjøre det!
  • Når vi oversetter domenebegreper lager vi i realitet en ny domenemodell Personlig så hva i svært skeptisk til å bruke norske språk i kode - det ser ganske kårni ut Men etter å ha tenkt litt på det da… ->Her ska vi lære oss et nytt problemområde, med sine, begreper, egenskaper, regler, sammenhenger, assosiasjoner... Og det først vi gjør? Vi oversetter primære benevninger til engelsk!?! Hallo! Det er vel å introdusere unødvendig kompleksitet...? [klikk]
  • Ett, ganske svakt argument etter min mening, e at det bli lettere for ikke-norskspråklige utviklera og forholde seg til koden Men, det e heller ikkje sikkert, for: Vi må innse at vi, de fleste av oss i hvert fall snakker god engelsk, men ikke flytende engelsk Hvis vi oversetter, kan de bli direkte feil! Og da har vi gjort vondt verre [klikk]
  • Domain-Driven Design-boka av Eric Evans hadde stor innflytelse på oss i 2004 – og forhåpentligvis fortsatt. DDD sier: ”how-how, greit med smidighet og få kodet og testet og deployet så tidlig som mulig, men ikke glem modelleringen da...!” DDD er objektorientert design + overordnede design/pattern-begreper + begrepsapparat/domenemodell for organisering og gjennomføring av programvareprosjekter. Med det sterke fokus på domenemodell og domenebegreper, blei vi enige om å prøve å etablere felles kodebase for felles begreper. Både rett og rimelig det; Bank og Penger og Kontonummer og sånt... I DDD er domenebegreper hellige – ”the ubiquitous language” / allestedsnærværende språket skal ikke skaltes og valtes med – det fører bare med seg misforståelser og økt kompleksitet. Så diskusjonen kom fort: skal vi oversette begrepene man bruker daglig? Det vi endte opp med var å ivareta norske begreper både i dokumentasjon og også i kode
  • I tillegg gjelder akkurat samme problem fortsatt for alle utviklerne, man må oversette kodebegreper med dagligbegreper. Å det må skje i realtime, så lenge som applikasjonen vedlikeholdes… [klikk] I e i hvert fall veldig glad for at I slepp og forholde me til denna type oversettelsa på daglig basis… Det e rett og slett for vanskelig for me … I har ikkje nok domenekunnskap … I snakka ikkje engelsk bra nok Detta e nokkå som må behandles varsomt
  • ” Kontrollert vokabular”
  • ” Kontrollert vokabular”
  • * Er domenebegrepene veletablerte ? ( kvaliteten på domenebegrepene) Hvor lenge har begrepene eksistert? Hvem fant på begrepene? Hvordan oppsto begrepene?
  • * Er domenebegrepene i utstrakt bruk ? ( utbredelsen av domenebegrepene) Hvem bruker domenebegrepene? ...kun interne når de bruker datasystemet? ...kun interne i arbeidssituasjon? ...i kommunikasjon med kunder? ...i standarder? ...i kontrakter? ----------------------------------------------------------------------------------- * Er det noen som kan tegne og forklare domenet i organisasjonen? * Er det noen i organisasjonen som har et bevisst forhold til domenet i det hele tatt?
  • Husk, overettelsen må du foreta i sanntid i hodet ditt – eller enda verre, du må oppdatere en ekstern mapping-dokument…!!
  • XP Meetup - Norsk ræl i vakker engelskspråklig kode

    1. 1. Norsk ræl i vakker engelskspråklig kode
    2. 2. Ser rart ut...?
    3. 3. calculateBelopsgrense() Eksempler på ”norsk i engelsk”
    4. 4. findTjenesteavtaleByKontonummer () Eksempler på ”norsk i engelsk”
    5. 5. getDriftsmonsterFactory() Eksempler på ”norsk i engelsk”
    6. 6. … ser jo rart ut, ja!
    7. 7. findTjenesteavtaleByKontonummer () Eksempler på ”norsk i engelsk” getDriftsmonsterFactory() calculateBelopsgrense()
    8. 8. Uestetisk!
    9. 9. Følger ikke standard!
    10. 10. Ikke vedlikeholdbart!
    11. 11. Alternativet…
    12. 12. bla-bla-bla ... bla-bla-bla ... ” fellesblankett” ” belastningsbunt” ” tilbakeført anvisning” ” tvangsavstemt hevet giroutbetalingsbunt” Domeneekspert Domeneekspert
    13. 13. ” fellesblankett” ” belastningsbunt” ” tilbakeført anvisning” ? ” tvangsavstemt hevet giroutbetalingsbunt”
    14. 14. ” fellesblankett” ” belastningsbunt” ” tilbakeført anvisning” ” tvangsavstemt hevet giroutbetalingsbunt” ” Common payment form”? ” Forced matched cashed bundle of payment cheques”…? ” Reversed cheque”…? ” Debiting bundle”…?
    15. 15. Konsekvens: Domain-Driven Design <ul><li>Norskspråklige domenetermer </li></ul>” Hmm, domain languages in native tongue and in code ... I can clearly see it’s an issue ... I haven’t really given it any thoughts” - Eric Evans (på auditbesøk) -
    16. 16. ” fellesblankett” ” belastningsbunt” ” tilbakeført anvisning” ” tvangsavstemt hevet giroutbetalingsbunt” ” Common payment form”…? ” Forced matched cashed bundle of payment cheques”…? ” Reversed cheque”…? ” Debiting bundle”…?
    17. 17. Respekter domenetermer
    18. 18. En ideell verden…
    19. 19. En ideell verden… Kontrollert vokabular
    20. 20. Den virkelige verden…
    21. 21. Respekter domenetermer Særlig hvis de er veletablerte !
    22. 22. Respekter domenetermer Særlig hvis de er veletablerte ! Særlig hvis de er i utstrakt bruk !
    23. 23. Respekter domenetermer Og særlig hvis dine nye domenebegreper kun vil bli brukt av deg – og dine kodemedsammenvorne!!
    24. 24. + Domenet skiller seg ut fra koden - Bruker norsk på ikke-domemetermer Annet…
    25. 25. Norsk ræl i vakker engelskspråklig kode

    ×