CODE Magazine / Articles
Legacy code
Articles filed under Legacy code
Articles
Showing 1–5 of 5
-
An Introduction to Distributed Tracing with OpenTelemetry in .NET 7
OpenTelemetry is an open-source distributed tracing framework. Companies that use it can make more informed decisions about their operations. Learn to use it through an example ASP.NET 7 project.
-
Migrating Monolithic Apps to Multi-Platform Product Lines with .NET 5
Learn to migrate older applications to .NET 5. Learn to use "ports-and-adapters" (hexogonal architecture) along with design patterns and principles from domain-driven design (DDD) to help you modify your old software so you can split the business logic into independent assemblies.
-
Docker
Ted Neward’s Docker article introduces the technology’s rise to mainstream relevance and demystifies how it works for developers, especially those from the Windows ecosystem. It covers installing and running Docker, the distinction between images and containers, and how Dockerfiles express reproducible environments. Neward explains practical usage—volume mounting, port mapping, and building/publishing images—while comparing Docker’s philosophy to traditional virtualization (Hyper-V/VirtualBox) and highlighting its suitability for repeatable deployments and microservices. He also touches on orchestration (Kubernetes, Swarm) and the CI/CD value of Dockerfiles as delivery artifacts.
-
Prepare Visual Basic for Conversion to C#
There’s nothing wrong with coding in VB, but to stay contemporary, you need to get coding in C#. Paul shows you how to convert legacy VB files to C# without re-inventing the wheel.
-
Software Archaeology
In "Software Archaeology," Chris Williams explores the challenges and strategies of working with legacy code, drawing from his extensive experience as a developer since the 1980s. The article delves into practical approaches for understanding and maintaining old or unfamiliar codebases, such as mapping functionality, leveraging debugging tools, and resisting the urge to refactor unnecessarily. Through real-world examples, including his own projects and inherited applications, Chris emphasizes the importance of balancing practicality with respect for existing architectural choices, while offering actionable tips to navigate the complexities of outdated systems. Ultimately, he advocates for adaptability and structured exploration to tame the chaos of legacy software.

