Legacy Code Architecture Training

Level

Intermediate

Duration

24h / 3 days

Date

Individually arranged

Price

Individually arranged

Legacy Code Architecture Training

This training combines theory with practice, providing tools for daily work on code and architecture quality. Whether you’re working on monolithic applications or microservices, this course will help you better understand the challenges associated with legacy code and find optimal solutions. Through practical examples and proven techniques, you’ll gain the knowledge needed to maintain and develop even the most complex legacy systems.

Who is this training for?
  • logo infoshare Developers who want to enhance their skills in managing code quality—learn how to avoid pitfalls related to technical debt and improve code transparency.
  • logo infoshare Team leaders and tech leads aiming to streamline team processes and manage technical decisions in projects.
  • logo infoshare Software architects seeking to design application architectures more effectively and maintain their consistency over the long term.
  • logo infoshare Individuals working with legacy code who want to implement changes effectively without destabilizing existing solutions.

What You Will Learn

  • Effective management of code and architecture quality—understand concepts like SOLID, KISS, DRY, and YAGNI to design better solutions.
  • Effective strategies for managing legacy code—learn when to choose refactoring, the Strangler Pattern, or rewriting to reduce technical debt.
  • Practical refactoring techniques—identify issues in code and apply refactoring at the method, class, module, and architecture levels.
  • Optimizing team collaboration—discover ways to minimize conflicts when introducing changes and making key decisions.

Training Program

  • Introduction
  • Software Quality vs. Code Quality
  • Legacy Code vs. Technical Debt
  • Why does code quality decline?
  • Strategies for Managing Legacy Architecture

    • Continuing the current approach
    • Continuous Refactoring
    • Strangler Pattern
    • Rewrite
    • How to make decisions?
  • Prevention

    • Overview of techniques
    • Cost vs. benefit
    • How to handle challenges
    • Conflicts vs. decision-making
  • Software Development vs. Code Quality

    • Composition Over Inheritance
    • Data Model vs. Domain Model
    • Domain Model vs. Anemic Domain Model
    • SOLID
    • KISS
    • YAGNI
    • DRY
  • Overview of Selected Programming Patterns

    • Creational Patterns
    • Behavioral Patterns
    • Structural Patterns
    • Being Pattern Happy
  • Software Development vs. Architecture Quality

    • Architecture Decision Record
    • Architecture Testing
    • Low Coupling
    • High Cohesion
    • How to choose the right architecture?
  • Refactoring

    • What is refactoring?
    • When (not) to refactor?
  • Preparing for Refactoring

    • Edit and Pray
    • Cover and Modify
    • Implementation-Oriented Tests
    • Testing modified code
    • Testing vs. compromises in code
  • Code Refactoring

    • How to identify the problem?
    • Refactoring methods
    • Refactoring classes and dependencies
    • Refactoring modules
  • Summary

Contact us

we will organize training for you tailored to your needs

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    The controller of your personal data is InfoShare Academy Sp. z o.o. with its registered office in Gdańsk, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742121. Personal data are processed in accordance with information clause.