Smart kurs från Ribomation om

Clean Code Kurs

Hur du systematiskt rensar i befintlig programkod med "bad smell" via stegvisa omskrivningar för att skapa programkod med bättre och högre kvalité.

Har du någon gång jobbat i ett katastrofprojekt? Ett programutvecklingsprojekt där utvecklingen helt stannat av och gruppen är paralyserad av rädsla för att minsta kodförändring ska utlösa en kanonad av nya buggar. Ett sådant projekt utgör slutpunkten för en lång resa som började med att man inte hade tid att städa upp den där kodmodulen, för att just denna vecka var det så extra mycket att göra i projektet. Känns det igen?

Förekomsten av dålig kod i programsystem ska jämföras med förekomst av mögel i hus. Det kommer bara att bli värre och värre. Denna kurs tar sikte på att det finns mycket att göra i förebyggande syfte och hur man systematiskt kan göra dålig kod mindre dålig och till slut göra den bra.

Detta får du lära dig på kursen
  • Hur du gör systematisk refactoring för att förbättra kodkvalitén
  • Hur du ökar kodens läsbarhet, för att göra koden mer underhållsvänlig
  • Hur du skapar meningsfulla enhetstester
Innehåll

Software Design

  • Principles of software design
  • Cost of fixing bugs
  • The knowledge transfer dilemma
  • Code smell
  • The danger of complexity

Design Principles

  • Broken windows
  • Screaming monkeys
  • DRY
  • Single responsibility
  • Separation of concern
  • Least astonishment
  • SOLID

Case Studies

Genomgång och diskussion av några egna projekt och deras tillkortakommanden

Design Patterns

  • Patterns and anti-patterns
  • Singleton
  • Template method
  • Decorator
  • Composite
  • Builder
  • and more...

Refactoring

  • What it is
  • Tools
  • Extract ***
  • and more...

Clean Code Basics

  • What it is
  • How to do it

Comments and Formatting

  • How to deal with comments
  • General advice
  • Different categories of comments

Meaningful Names

  • Naming matters
  • What about encodings

Functions

  • Function size
  • Return policy
  • Side effects
  • Parameters

Classes

  • Class size
  • What is a cohesive class
  • Open-closed principle
  • Loosly coupled classes
  • Class organization

Data Structures

  • Data structures vs. objects
  • Law of demeter

Error Handling

  • Return codes
  • Null returning
  • Null arguments
  • The exception debate is over
  • Assertions

Unit Testing

  • Test FIRST
  • Clean tests
  • The given-when-then idiom
  • Intro to Spock

System Architecture

  • Separation of concern
  • Constructions vs. usage
  • Dependency injection

Build Tools

  • Overview of build tools
  • Repositories
  • Proxies
  • Work flow

Continuous Integration and Deployment

  • What is Continuous Integration (CI)
  • How is it related to clean code
  • CI servers
  • What is Continuous Deployment (CD)
SnabbFakta
Namn
Clean Code
Längd
2 dagar
Nivå
Intermediate
Målgrupp
Java-programmerare
Förkunskaper
Rutinerad i Java programmering
Teknisk miljö
  • Java JDK 8
  • JetBrains Intellij IDEA
Dela
Relaterade Kurser
KursLängdNivå
Modern Design Patterns2 dagarIntermediate
Java Basics4 dagarBeginner
Java 82 dagarIntermediate
Schemalagd Kurs

Pris

15 000 kr + moms

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurstillfälle. Läs mer om vår samma-företags-rabatt.

Aktuella KursDatum
StartdatumPlats
2017-11-20Stockholm City
2017-12-11Stockholm City
Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Prisexempel för NN deltagare

PPP + moms

Antal
Område

Läs mer om vår prismodell och beställningsvillkor.