# Piano studi java ## infrastruttura linguaggio java (studio autonomo) [Appunti studio su Moduli, package](https://hackmd.io/BAK55YNwQTKHSkFOC9PMaQ?edit) ## Java, Testing - [x] ~~Testing-Guidelines-2019-10-17.pdf (1.4 MB)~~ - [ ] Per fare pratica puoi poi seguire i Java Koans (https://github.com/matyb/java-koans) - [ ] Fare pratica su Exercism [https://exercism.io/profiles/martinovallara](https://exercism.io/profiles/martinovallara) - [x] [Hello Word](https://exercism.io/my/solutions/e9c32fef6a044b729447f0eeec8ee32d) - [x] [luhn](https://exercism.io/my/solutions/63fa5d66ac5b4fb9ad587d6259c0cd10) - [x] [Leap](https://exercism.io/tracks/java/exercises/leap/solutions/e9c32fef6a044b729447f0eeec8ee32d) - [x] [Nth Prime](https://exercism.io/tracks/java/exercises/nth-prime/solutions/038a979bfe9f42f79be418783dca72ed) - [ ] [in progress] [List Ops](https://exercism.io/my/solutions/d22ba8abf8c546b0abc63dbde91d3ed6) - [ ] https://github.com/xpepper/javaCourse ## Into Moderm Java - [ ] https://martinfowler.com/articles/practical-test-pyramid.html - [ ] https://github.com/hamvocke/spring-testing - [ ] https://github.com/giorgiosironi/game-of-life-modern-java - [ ] https://github.com/winterbe/java8-tutorial ## Into the Spring Universe - [ ] https://github.com/xpeppers/testing-spring-project-example ## Clean Code - [ ] Clean Code on Java (book) ## Suggerimenti per quando fai i kata * committa spesso, in particolare dopo ogni azione "significativa" sul codice, ad esempio dopo aver fatto passare un test, oppure dopo un refactoring. * cerca di usare il più possibile gli shortcut da tastiera, per navigare nel codice, estrarre variabili/parametri/metodi ecc. * mentre programmi, scrivi da parte i dubbi o i problemi che emergono, su qualunque aspetto. Le cose che emergono le puoi rivedere in un secondo momento, da solo o con un collega. Esempi: * come funzionano i branch in git? * come gestisco le dipendenze con maven/gradle in un progetto java con Intellij? * ... ## kata ### salex-taxes-problem * ripetere iniziando come primo passo a risolvere il problema con un solo articolo (senza introdurre da subito la lista) * attenzione test che testano collaboratori: come introdurre test unitari sui collaboratori ### String-calculator * ## approfondimenti * packadge * maven * gradle ## testing https://martinfowler.com/articles/practical-test-pyramid.html