Avanscoperta
Working Effectively with Legacy Code

Working Effectively with Legacy Code

Refactoring code without having test in place? Never again!

Course abstract

Test-Driven Development and Refactoring are powerful tools. With them you can add new code to systems and make existing code more maintainable. However, refactoring code without having tests in place can be hazardous.

Program

This workshop presents a collection of dependency breaking and test writing techniques that can be used to get existing code safely under test for refactoring. These techniques can be used in conjunction with Test-Driven Development to breathe new life into large existing code bases.

Topics

  • Testing as a Programmer’s tool
  • Seam identification
  • Breaking Dependencies – Sensing and Separation
  • Breaking Hidden and Manifest Dependencies
  • Characterization Testing
  • Refactoring Toward Understandability
  • Strategies for Getting Large Methods under Test
  • Dealing with Deeply Nested Conditionals
  • Planning Large-­Scale Refactoring and Technical Debt Reduction.

What will you learn

By the end of this course, you will:

  • Understand what legacy code is
  • Understand how to break dependencies in legacy code
  • Learn a variety of techniques for breaking external dependencies
  • Learn a variety of techniques for breaking internal dependencies
  • Understand when to employ each of the techniques
  • Learn a variety of strategies for code refactoring
  • Learn how to identify change points
  • Learn how to find an inflection point
  • Understand the concept of test coverage for inflection points
  • Understand how to write effective tests for legacy code.

Entry requirements & Target audience

This class is structured as a set of lectures, discussions, and hands­-on exercises.
You will be able to select among Java, C++, C# and JavaScript for the exercises, therefore an intermediate knowledge of these programming languages is required (at least 2+ years experience).

F.A.Q.

Tools & Laptop: Do I need my laptop?
Yes, you will need to take your laptop with you.

Entry requirements: Is there anything I need to do before the workshop?
No, there’s no need to do anything prior to the workshop.

Teaching language: What language will this workshop be on?
This course will be taught in English.

Vuoi saperne di più sui nostri biglietti?

Biglietti

Under_Cover_LearnerSCONTO 20%

Se ti stai iscrivendo al corso a titolo personale e non hai la Partita IVA, c’è una tariffa speciale per te: uno sconto del 20% sul prezzo corrente del biglietto

Come? Inserisci il codice Under_Cover_Learner nel campo "Immetti codice promozionale" di Eventbrite.

Note: lo sconto non è cumulabile con altri codici sconto.

Michael Feathers

Michael Feathers è il fondatore e il direttore di R7K Research & Conveyance, un'azienda specializzata in progettazione software e organization design. Negli ultimi 20 anni Michael ha lavorato come consulente presso centinaia di organizzazioni, con lo scopo di aiutarle a risolvere problematiche di software design, process change e code revitalization.

Info pratiche sul workshop

Lingua: Il corso sarà tenuto in inglese.
Orari: dalle 9.30 alle 17.30 ciascun giorno.
Venue: Pirelli Institute, Viale Fulvio Testi, 223, 20162, Milano (qui puoi scoprire come raggiungere l’Istituto Pirelli).
Laptop: Sì, è necessario che porti il tuo laptop con te.
Dress code: Informale.
Compreso nel prezzo: Nel prezzo del biglietto sono compresi i coffee break e i pranzi insieme al docente e agli altri corsisti. Perché anche il networking è importante! :-)

Come arrivare a Milano?

Puoi raggiungere il centro di Milano grazie ai collegamenti con ben tre aeroporti: Linate, Malpensa, e Bergamo Orio al Serio. Non male, vero? :-)

Visita la nostra pagina Venue & Location Info Page e inizia a preparare il tuo viaggio! Ci troverai un sacco di informazioni utili su dove dormire, alcune opzioni di viaggio, dove si trova la venue del workshop, e molto altro ancora!

Domande? Dubbi? Scrivici a at info@avanscoperta.it.

N.B.

Buone notizie – Il workshop è confermato! :-) Ci vediamo a Milano?

Domande? Dubbi? Scrivici a info@avanscoperta.it.

Istituto Piero Pirelli - Come arrivare ed Info

Approfondimenti

Leggi l’intervista di Matteo Baglini a Michael Feathers sul nostro blog: “I don’t like complicated code.” Michael Feathers on Legacy Code and Technical Debt.

Hai domande su questo workshop?
newsletter

Vuoi leggerci il venerdì mattina insieme al primo caffè della giornata?

Iscriviti alla newsletter

Subscribe!