Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Finale Code Story

F0887bf6175ba40dca795eb37883a8cf?s=47 dgageot
February 16, 2012

Finale Code Story

Lancement de la finale CodeStory

F0887bf6175ba40dca795eb37883a8cf?s=128

dgageot

February 16, 2012
Tweet

Transcript

  1. CodeStory @ ParisJUG 14 février 2012 (sorry Ladies...) Thursday, February

    16, 12
  2. Before we start, Don't forget ! Thursday, February 16, 12

  3. David Gageot Jean-Laurent de Morlhon CTO @ Xebia Dev @

    SonarSource Thursday, February 16, 12
  4. CodeStory WTF ?! • Ecrire une application "from scratch" en

    48h • Faire une application exceptionnelle • Montrer des techniques exceptionnelles • En binôme à 4 mains Thursday, February 16, 12
  5. Trouver un binôme ! + + + Thursday, February 16,

    12
  6. Birth Thursday, February 16, 12

  7. La Sélection en 3 étapes • Un petit snippet de

    code • Coding challenge live en binôme • Coding avec Public Thursday, February 16, 12
  8. FooBarQix for{i<-1 to 100;m=(Seq(3,5,7).filter{i %_==0}++(Seq(i/10,i%10)collect{case c@(3|5|7)=>c}))map{Map(3->"Foo",5- >"Bar",7->"Qix")}} Thursday, February 16,

    12
  9. FooBarQix j=['3':'Foo','5':'Bar','7':'Qix'] (1..100).each{n->println([3,5,7].inject('') {w,k->w+(n%k?'':j."$k")} +"$n".collect{j[it]?:''}.sum()?:n)} Thursday, February 16, 12

  10. FooBarQix • 60 participations officielles • 15 langages différents •

    15 binômes sélectionnés Thursday, February 16, 12
  11. GildedRose • Coder en situation réelle • Des features et

    une webapp • En temps contraint Thursday, February 16, 12
  12. GildedRose Thursday, February 16, 12

  13. GildedRose Thursday, February 16, 12

  14. public void updateQuality() { for (int i = 0; i

    < items.size(); i++) { if (!items.get(i).getName().equals("Aged Brie") && !items.get(i).getName().equals("Backstage passes to a TAFKAL80ETC concert")) { if (items.get(i).getQuality() > 0) { if (!items.get(i).getName().equals("Sulfuras, Hand of Ragnaros")) { items.get(i).setQuality(items.get(i).getQuality() - 1); } } } else { if (items.get(i).getQuality() < 50) { items.get(i).setQuality(items.get(i).getQuality() + 1); if (items.get(i).getName().equals("Backstage passes to a TAFKAL80ETC concert")) { if (items.get(i).getSellIn() < 11) { if (items.get(i).getQuality() < 50) { items.get(i).setQuality(items.get(i).getQuality() + 1); } } if (items.get(i).getSellIn() < 6) { if (items.get(i).getQuality() < 50) { items.get(i).setQuality(items.get(i).getQuality() + 1); } } } } } if (!items.get(i).getName().equals("Sulfuras, Hand of Ragnaros")) { items.get(i).setSellIn(items.get(i).getSellIn() - 1); } if (items.get(i).getSellIn() < 0) { if (!items.get(i).getName().equals("Aged Brie")) { if (!items.get(i).getName().equals("Backstage passes to a TAFKAL80ETC concert")) { if (items.get(i).getQuality() > 0) { if (!items.get(i).getName().equals("Sulfuras, Hand of Ragnaros")) { items.get(i).setQuality(items.get(i).getQuality() - 1); } } } else { items.get(i).setQuality(items.get(i).getQuality() - items.get(i).getQuality()); } } else { if (items.get(i).getQuality() < 50) { items.get(i).setQuality(items.get(i).getQuality() + 1); } } } } Thursday, February 16, 12
  15. GildedRose 5 binômes sélectionnés ! Sebastian & Eric Lemerdy Guillaume

    Tardif & Frédéric Falliere Jean-Baptiste Lievremont & Nicolas Peru Florent Biville & Pierre-Yves Ricau Fabrice Croiseaux & Antoine Detante Thursday, February 16, 12
  16. Paris JUG • Choisir un binôme • Randori sur un

    exercice type • Ajout de contraintes à la volée • Jury qui buzz Thursday, February 16, 12
  17. Jury ! • Eric Lefevre-Ardant : http://ericlefevre.net • Nicolas Martignole

    : http://touilleur-express.com • David + Jean-Laurent Thursday, February 16, 12
  18. Back To Code ! Thursday, February 16, 12

  19. L'exercice de ce soir ! =========================== Application Bancaire. Pensez à

    votre expérience personnelle de compte bancaire. Dans le doute de l'application d'une règle, partez sur la solution la plus simple. Fonctions : #1 Opérations de bases sur le compte bancaire (Dépôt, Retrait) #2 Transfert d'argent vers un client de la même banque. #3 Encours de compte (Inclure toutes les opérations avec la date, le montant et la balance) #4 Afficher l'encours de compte sur la console #5 Filtrer la liste d'encours en fonction d'une période de temps et d'un montant (moins/plus) que ce montant) =========================== Thursday, February 16, 12
  20. Randori Style ! • Switch de Binôme toutes les 5

    minutes • Si un binôme est buzzé, il change avant les 5 minutes. • Après la pause, le buzz est éliminatoire Thursday, February 16, 12
  21. Randori Style ! • Switch de Binôme toutes les 5

    minutes • Si un binôme est buzzé, il change avant les 5 minutes. • Après la pause, le buzz est éliminatoire Thursday, February 16, 12