• Liked Nayan Hajratwala
    keyboard_arrow_down

    Refactoring Legacy Code Guided by Simple Design

    Nayan Hajratwala
    Nayan Hajratwala
    schedule 5 months ago
    Sold Out!
    45 mins
    Demonstration
    Intermediate

    Are you frustrated by the many trivial examples that show up when you google "refactor legacy code"? How do you translate these examples to your real-world code base? Sometimes it's just easier to give up on the refactoring and increased test coverage, reserving these techniques for the ever elusive greenfield project. To help you with this dilemma, Nayan will walk through a real legacy Java code base, and perform some safe refactorings required to bring the code under test. All of this will be done under the guidance of the Four Rules of Simple Design (Pass the tests, DRY, Reveal intent, Minimize moving parts).

  • Naresh Jain
    Naresh Jain
    schedule 5 hours ago
    Sold Out!
    480 mins
    Tutorial
    Beginner

    As developers, we often shy away from making changes to existing (legacy) code base due to the fear of breaking existing functionality. While we've enough industry wisdom on how to refactor large monolithic applications, its usually hard to find team members, who can champion the cause. For many folks, refactoring code without having automated tests can be scary. And quite often, it ends up being an egg-and-chicken problem, .i.e. to write tests one needs to refactor the code. But to refactor the code, we first need tests. Even if we break the egg-and-chicken problem, where do we start and how do we visualise the progress, becomes a big challenge.

    This hands-on workshop will equip you with the necessary tools, technique and skills to confront legacy code. It teaches you how to use various safe-refactoring strategies, while breaking dependencies and writing first few scaffolding tests to guide your excavation. These techniques are very useful to get existing code safely under test for refactoring. You will also learn how to use these techniques in conjunction with TDD to breathe new life into large existing code bases.