Thomas Sundberg is a consultant at Agical AB in Stockholm, Sweden. He has a Masters degree in Computer Science from the Royal Institute of Technology, KTH, in Stockholm. He has been working as a Java developer the last ten years.
His first experience with test driven development was with JUnit the autumn of 2000. He has also worked as a lecturer at KTH teaching programming courses. There he realized that students who solve programming assignments in pairs normally produce better solutions compared to students working alone.
Thomas has a passion for automation and has set up and maintained Continuous Integration systems since 2004 at different companies, including a large Swedish-Japanese mobile phone manufacturer.

Prior speaker experience:

XP 2009, May 1009, Sardinia, Italy

Agila Sverige 2009, June 2009, Stockholm, Sweden

Öredev 2009, November 2009, Malmö, Sweden

Java Forum JUG in Stockholm, December 2009, Stockholm, Sweden

Teacher at the Royal Institute of Technology, 2002 - 2003, Stockholm, Sweden.

lecture

Clean Code – Software Craftsmanship

Clean Code – is it worth the time and money to write your code so it is trivial to understand and maintain?

I will discuss the concept of Clean Code and introduce the concepts laid out in the books Clean Code by Robert C Martin and Refactoring by Martin Fowler.

Topics that will be covered are:

Meaningful Names – why are naming so important?

Functions – how should they be written, which abstraction level should they contain?

Comments – why do you write comments?

Formatting – why is formatting important?

Objects and Data Structures – which abstractions should we have?

Error Handling – checked or unchecked exceptions?

Unit Tests – how they be written, what should they communicate?

Classes – how should classes be organized?

Successive Refinement – how do we evolve our implementation?

Learning outcomes:

The participants will have an understanding of why readable and maintainable code is the most important outcome of their profession

The participants will have an understanding why automation is extreme important

The participants will know that software development is a craft that requires craftsmanship