T1627

Ladda ner som PDF

Effective Coding Principles and Patterns in Java 9

Effective Coding in JAVA 9Do you want to feel proud of your work? Write code that your colleagues will admire? Move fast without compromising quality? Build long-living software that is easy and fun to maintain? Get out of technical debt without big upfront time investment? Professionally articulate technical decisions to your team and management? Build remarkable engineering career? Then this course is for you.

During this intensive, practical and entertaining 2-day course you will learn principles, practices and patterns for writing readable, maintainable and effective code.

  • The course is based on real-world project code, stories and examples
  • The course is updated to support Java 9 and functional programming idioms
  • The course will show many frameworks in action including Spring Boot, Netflix OSS stack, Spock and others
  • Attendees will receive optional coding assignment for skill polishing. Homework will be reviewed and supplemented by constructive feedback.

Language

The course is taught in English (Contact us if you prefer Swedish).

The Teacher
The course it taught by Eduards Sizovs. Eduards is a hands-on architect and software development coach who helps awesome teams around the globe become more awesome – work smarter, run faster and enjoy the journey. He leads Latvian Software Craftsmanship Community, organises DevTernity – the biggest software craftsmanship conference in Baltics, blogs, speaks, and even sleeps. Sometimes

Coverage

Software development economy (clean code rationale, design entropy, busting "quality is expensive" myth, consequences of bad code)
Principles, rules, laws and dilemmas (use-reuse paradox, specific-generic dilemma, Law of Demeter, KISS, SOLID, DRY, YAGNI, just-enough design)
Clean coding practices

  • Effective Naming (principle of least astonishment, command-query separation, eliminating getters and setters, side-effects)
  • Effective Conditionals (how and when to avoid branching, how to eliminate nested branching, making branching easy-to-read)
  • Effective Functions (nulls vs. optionals, single level of abstraction, step-down rule, lambda or not to lambda?)
  • Effective Classes (OO meets functional, objects vs. data structures, abstraction, coupling, cohesion)
  • Effective Comments (when and how to avoid, alternatives)
  • Effective Application Layer (commands, reactions, funnels)
  • Effective Domain modeling (DDD, protecting invariants, value objects, entities,... Läs mer

The Teacher
The course it taught by Eduards Sizovs. Eduards is a hands-on architect and software development coach who helps awesome teams around the globe become more awesome – work smarter, run faster and enjoy the journey. He leads Latvian Software Craftsmanship Community, organises DevTernity – the biggest software craftsmanship conference in Baltics, blogs, speaks, and even sleeps. Sometimes

Coverage

Software development economy (clean code rationale, design entropy, busting "quality is expensive" myth, consequences of bad code)
Principles, rules, laws and dilemmas (use-reuse paradox, specific-generic dilemma, Law of Demeter, KISS, SOLID, DRY, YAGNI, just-enough design)
Clean coding practices

  • Effective Naming (principle of least astonishment, command-query separation, eliminating getters and setters, side-effects)
  • Effective Conditionals (how and when to avoid branching, how to eliminate nested branching, making branching easy-to-read)
  • Effective Functions (nulls vs. optionals, single level of abstraction, step-down rule, lambda or not to lambda?)
  • Effective Classes (OO meets functional, objects vs. data structures, abstraction, coupling, cohesion)
  • Effective Comments (when and how to avoid, alternatives)
  • Effective Application Layer (commands, reactions, funnels)
  • Effective Domain modeling (DDD, protecting invariants, value objects, entities, aggregates, event bus, strong and eventual consistency)
  • Effective Persistence (transaction management, unit of work pattern, DAO vs. repository, testing data)
  • Effective Validation (simple and complex rule validation, why Bean Validation sucks, writing custom validator)
  • Effective Exception Handling (when and how to handle exceptions, designing exception hierarchy, checked vs. unchecked)
  • Effective Resilience (failure modes, responding to failures, stability patterns, Hystrix)
  • Effective Concurrency (CompletableFuture, RxJava, testing concurrency and asynchrony)

How to stay clean and move fast (incremental refactoring, effective code reviews, pairing, CoPs, brown-bags, quality forecasting with Sonar)

… and much more!

Kursfakta

Kurs-ID: T1627
Längd: 2 dagar
Pris exkl moms: 25 000 kr
Inregistrering: 09.00
Kursstart: 09.30
Kursslut (ca): 17.00

Frågor om kursen?

Har du frågor om kursens innehåll, leveransdatum/ort eller behöver en företagsanpassad variant? Fyll i formuläret nedan!


Kan betalas med:
TRAINING CARD

Ort och datum

Stockholm
23 okt-24 okt
GO!
Boka nu!
1 feb-2 feb
Boka nu!
3 apr-4 apr
Boka nu!
31 maj-1 jun
Boka nu!
Göteborg
23 okt-24 okt
R
Boka nu!
1 feb-2 feb
R
Boka nu!
3 apr-4 apr
R
Boka nu!
31 maj-1 jun
R
Boka nu!
Malmö
23 okt-24 okt
R
Boka nu!
Cloud Access
i Läs mer

Delta på kursen från ditt hem, jobb eller annan plats.

23 okt-24 okt
Boka nu!
1 feb-2 feb
Boka nu!
3 apr-4 apr
Boka nu!
31 maj-1 jun
Boka nu!

Tipsa