T1530

Ladda ner som PDF

Software Craftsmanship

Code is read more often than it is written, that’s why keeping the code clean is very important part of creating maintainable and long living system. Consistency, naming rules, commenting habits, function organization, exception handling – all contribute to code readability and quality.

Developers face code design and micro-architecture challenges during every coding day. Designing your code properly from the start is very important. Moreover, every programmer is a designer. Design patterns, code organization principles, dos and don’ts are covered in this intensive 2-day course.

Audience

Junior or senior developers who would like to improve their code organization skills.

Prior knowledge

Students must have at least few years of software development experience.

Language

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

Courseware

All students will receive course slides as well as demo and exercise code examples.

Teacher 

Andrey AdamovichAndrey Adamovich is a software craftsman with 15+ years of professional software design and development experience in different industries using various programming languages and technologies. Andrey's passionate about defining good development practices, documenting and presenting architecture, reuse of code and design patterns, analysis of application performance. In recent years, his focus is on automation of various parts of software delivery process as well as DevOps initiatives his company is implementing for various clients in Europe.

Andrey is a frequent conference speaker as well as a co-organizer of a local software craftsmanship community. He is one of the authors of Groovy 2 Cookbook. Andrey has a Master degree in Computer Science from the Latvian State University

After completion of this course, students should have a better overview of widely recognized principles that lead to writing cleaner, more readable and better-designed code.

The training will be a mix of theoretical explanations and practical code examples written in Java and/or Ruby.

Course outline

Topics covered in this package include:

  • Understanding the impact of bad code

  • What does quality mean?

  • Read your code: names are everywhere
     - How to name variables, functions, classes

  • Code aesthetics
     - Be consistent
     - Formatting for readability
     - Break code into... Läs mer

Teacher 

Andrey AdamovichAndrey Adamovich is a software craftsman with 15+ years of professional software design and development experience in different industries using various programming languages and technologies. Andrey's passionate about defining good development practices, documenting and presenting architecture, reuse of code and design patterns, analysis of application performance. In recent years, his focus is on automation of various parts of software delivery process as well as DevOps initiatives his company is implementing for various clients in Europe.

Andrey is a frequent conference speaker as well as a co-organizer of a local software craftsmanship community. He is one of the authors of Groovy 2 Cookbook. Andrey has a Master degree in Computer Science from the Latvian State University

After completion of this course, students should have a better overview of widely recognized principles that lead to writing cleaner, more readable and better-designed code.

The training will be a mix of theoretical explanations and practical code examples written in Java and/or Ruby.

Course outline

Topics covered in this package include:

  • Understanding the impact of bad code

  • What does quality mean?

  • Read your code: names are everywhere
     - How to name variables, functions, classes

  • Code aesthetics
     - Be consistent
     - Formatting for readability
     - Break code into “paragraph”
     - Code organization

  • Comments
     - What NOT to comment
     - Show your intent
     - Put yourself in the reader’s shoes

  • Functions
     - One word: short!
     - Arguments and parameters
     - One level of abstraction
     - Don’t repeat yourself (DRY principle)
     - Dealing with exceptions
                Checked vs. Unchecked
                Why exception hierarchies matters
                Add content to your exceptions
                Centralize catching and logging
     - Execution flow (switch, conditions, nesting, variable scope)

  • Logging

  • Code design
     - Understand the problem first
     - Number one rule: simplicity
     - Data vs. Object
     - Law of Demeter
     - Design patterns: use and misuse
     - Classes
                Best practices for class design
                Be SOLID! The SOLID principles matters
                Cohesion and changeability
    - Design anti-patterns: stuff you’ll regret later
    - Use the right tool for the job: Functional vs. Procedural

  • Testing your code
    - Unreadable tests stink
    - Choosing good test input
    - Making error message readable
    - TDD actually works
    - Using mocks
    - Introducing BDD
    - Unit test automation and test coverage

  • Developer team communication & productivity 

 

Kurs-ID: T1530
Längd: 2 dagar
Pris exkl moms: 25 000 kr

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!


Avtalsrabatter och kampanjer kan ej nyttjas på denna kurs.


Ort och datum

Stockholm
16 nov – 17 nov
Boka nu!
Göteborg
16 nov – 17 nov R
Boka nu!
Malmö
16 nov – 17 nov R
Boka nu!
Cloud Access
i Läs mer

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

16 nov – 17 nov
Boka nu!

Tipsa