Tagged articles
27 articles
Page 1 of 1
php Courses
php Courses
Dec 10, 2025 · Backend Development

Turning PHP Nightmares into Maintainable Code: Modern Backend Practices

This article examines common technical debt in legacy PHP projects—spaghetti code, global variables, missing frameworks, lack of testing, and chaotic deployment—and presents a step‑by‑step roadmap using modern frameworks, Composer, automated testing, coding standards, strategic refactoring, and CI/CD pipelines to transform the codebase into a clean, maintainable system.

Backend DevelopmentDevOpsLegacy Code
0 likes · 7 min read
Turning PHP Nightmares into Maintainable Code: Modern Backend Practices
FunTester
FunTester
Aug 29, 2025 · Fundamentals

How to Tackle Automated Testing in Legacy Systems: Practical Tips & Refactoring

Automated testing is essential but challenging for legacy systems; this guide explains testing types, prioritizes unit and integration tests, classifies code for targeted testing, demonstrates refactoring techniques with Java examples, and applies SOLID principles to improve testability and maintainability of aging codebases.

Automated TestingLegacy CodeSOLID principles
0 likes · 13 min read
How to Tackle Automated Testing in Legacy Systems: Practical Tips & Refactoring
Liangxu Linux
Liangxu Linux
Aug 28, 2025 · Fundamentals

When a Hidden Easter Egg Almost Cost an Engineer His Job at Apple

The article recounts John Calhoun's experience at Apple, detailing how his harmless code Easter egg nearly led to his dismissal, and explores the broader implications of embedding hidden features in software within large tech companies.

AppleLegacy CodeSoftware Engineering
0 likes · 15 min read
When a Hidden Easter Egg Almost Cost an Engineer His Job at Apple
php Courses
php Courses
Jul 24, 2025 · Backend Development

Why Static Indexing Is Fading in Modern PHP Development

The article explains how static array indexing, once common in early PHP, has declined due to modern frameworks, stronger type systems, improved IDE support, and maintainability concerns, while outlining alternative patterns and scenarios where static indexing may still be appropriate.

Legacy CodeORMType Safety
0 likes · 4 min read
Why Static Indexing Is Fading in Modern PHP Development
php Courses
php Courses
Jun 13, 2025 · Backend Development

How to Transform Legacy PHP Code into a Clean, Testable Architecture

Legacy PHP applications often suffer from spaghetti code, global state abuse, mixed concerns, and lack of tests; this guide outlines a step‑by‑step refactoring strategy—adding a testing safety net, introducing dependency injection, separating concerns with MVC/DDD, adopting repository patterns, and leveraging modern tools like Composer and PHPStan—to evolve them into maintainable, testable, and scalable backend systems.

Backend DevelopmentDDDLegacy Code
0 likes · 6 min read
How to Transform Legacy PHP Code into a Clean, Testable Architecture
Alibaba Cloud Native
Alibaba Cloud Native
Oct 25, 2024 · Fundamentals

How to Tackle Legacy Code: Strategies, Unit‑Testing Pitfalls, and Cost‑Benefit Analysis

This article defines legacy code, categorizes its types, outlines practical handling strategies—including rewriting, refactoring, and targeted unit testing—examines common unit‑testing mistakes, introduces a cost‑benefit quadrant model, and shows how the Tongyi Lingma tool can assist each step.

Code RefactoringLegacy Codecost-benefit analysis
0 likes · 9 min read
How to Tackle Legacy Code: Strategies, Unit‑Testing Pitfalls, and Cost‑Benefit Analysis
21CTO
21CTO
Jun 19, 2024 · Fundamentals

Which Programming Languages Are Truly Dead? Exploring Legacy and Modern Trends

The article surveys the rise and fall of many programming languages—from historic giants like COBOL and Fortran to once‑popular but now‑dying languages such as Perl, ActionScript, and CoffeeScript—highlighting their current relevance, legacy usage, and the factors driving their decline or resurgence.

Legacy Codelanguage evolutionprogramming languages
0 likes · 16 min read
Which Programming Languages Are Truly Dead? Exploring Legacy and Modern Trends
php Courses
php Courses
Mar 15, 2024 · Fundamentals

The Art of Taming Legacy Code: Strategies, Examples, and Future Directions

This article explores the challenges of legacy code through practical examples, offering step‑by‑step refactoring strategies, testing, documentation, environment management, and innovative tooling like ServBay to help developers modernize both backend and frontend systems while fostering professional growth.

Legacy Codebest practicesfrontend
0 likes · 6 min read
The Art of Taming Legacy Code: Strategies, Examples, and Future Directions
21CTO
21CTO
Mar 9, 2024 · Frontend Development

Why LinkedIn’s Massive Front‑End Rewrite Stalled: Lessons from a Former Engineer

Former LinkedIn senior engineer Chris Krycho reveals how organizational constraints, technical debt, and conflicting migration strategies made modernizing a 2‑million‑line front‑end codebase a multi‑year challenge, offering key insights for large‑scale software refactoring.

Ember.jsLegacy CodeReact
0 likes · 5 min read
Why LinkedIn’s Massive Front‑End Rewrite Stalled: Lessons from a Former Engineer
DevOps
DevOps
Mar 21, 2023 · Backend Development

Effective Unit Testing Strategies for Large Legacy Systems

The article shares practical techniques for improving unit test coverage in massive, low‑quality legacy codebases, including creating isolated new modules, applying test‑driven development, decoupling through design patterns, extracting interfaces, using seams, and employing mocking to overcome static dependencies.

Legacy CodeMockingdependency-injection
0 likes · 9 min read
Effective Unit Testing Strategies for Large Legacy Systems
IT Services Circle
IT Services Circle
Apr 11, 2022 · Backend Development

Upgrading a 20‑Year‑Old University .NET Project to .NET 6 with the .NET Upgrade Assistant

This article walks through migrating a two‑decade‑old C#/.NET university operating‑system project to .NET 6 using the .NET Upgrade Assistant, showing command‑line interactions, code adjustments, package updates, and how the final single‑file executable runs cross‑platform on Windows, Linux and Docker.

.NET 6C#Cross‑Platform
0 likes · 7 min read
Upgrading a 20‑Year‑Old University .NET Project to .NET 6 with the .NET Upgrade Assistant
DevOps
DevOps
Jul 20, 2021 · Fundamentals

Dealing with Legacy Code: Refactoring, Architecture, and Quality

The article reflects on the challenges of inherited “legacy” code, emphasizing why rewriting is risky, how to identify good architectural patterns within it, and practical steps like targeted refactoring, thorough testing, and learning from high‑quality open‑source projects to improve software quality.

Legacy CodeSoftware qualityarchitecture
0 likes · 6 min read
Dealing with Legacy Code: Refactoring, Architecture, and Quality
21CTO
21CTO
Jan 21, 2021 · R&D Management

Inside the 12‑Year Nightmare: How a 6‑Million‑Line C++ Project Became a Software Hell

This article recounts a twelve‑year‑long French government software project that amassed over six million lines of C++ code, suffered from outdated technology, chaotic version control, absurd management policies, and ultimately collapsed, offering stark lessons for developers and project leaders.

C++Legacy CodeSoftware Engineering
0 likes · 13 min read
Inside the 12‑Year Nightmare: How a 6‑Million‑Line C++ Project Became a Software Hell
ITPUB
ITPUB
May 5, 2020 · Fundamentals

Exploring Lei Jun’s Elegant 1994 DOS TSR Assembly: Full Source and Analysis

This article presents the complete 1994 assembly source of Lei Jun’s RAMinit TSR program, explains its background, key functions such as hot‑key handling, interrupt vector replacement, and memory management, and highlights its limitations to real‑mode DOS environments.

DoSLegacy CodeRetro Programming
0 likes · 26 min read
Exploring Lei Jun’s Elegant 1994 DOS TSR Assembly: Full Source and Analysis
Liangxu Linux
Liangxu Linux
Apr 25, 2020 · Fundamentals

Inside Lei’s 1994 RAMinit TSR: Full Assembly Source and Analysis

This article presents the complete assembly source of the RAMinit TSR program written by Lei in 1994, explains its purpose as a hot‑key‑driven memory‑management utility for DOS, describes its interrupt‑vector handling, memory‑copy routines, and includes detailed comments that reveal the inner workings of this historic piece of system software.

AssemblyDoSLegacy Code
0 likes · 27 min read
Inside Lei’s 1994 RAMinit TSR: Full Assembly Source and Analysis
Continuous Delivery 2.0
Continuous Delivery 2.0
Nov 4, 2019 · Fundamentals

Evaluating and Managing Legacy Code Quality with Simple Metrics

The article explains how to assess a project's code quality using four key metrics, compare error density between codebases, manage legacy code with the Scout Camp principle, and choose reasonable thresholds such as cyclomatic complexity, providing a practical approach for continuous delivery.

Continuous DeliveryLegacy CodeSoftware Engineering
0 likes · 4 min read
Evaluating and Managing Legacy Code Quality with Simple Metrics
Alibaba Cloud Developer
Alibaba Cloud Developer
Sep 30, 2019 · Fundamentals

How to Design Robust Service‑Oriented Architecture and Tame Legacy Code

This article explains the distinction between software design and architecture, outlines core principles for building service‑oriented systems, provides a step‑by‑step method for creating new services, and shares practical strategies for refactoring and migrating legacy code without creating future technical debt.

Legacy CodeNBF frameworkSoftware Architecture
0 likes · 8 min read
How to Design Robust Service‑Oriented Architecture and Tame Legacy Code
Architects' Tech Alliance
Architects' Tech Alliance
Jan 17, 2018 · Fundamentals

Five Practical Ways to Improve and Maintain Code Written by Others

The article outlines five actionable strategies—ensuring tests exist, communicating with the original author, eliminating warnings, refactoring, and making the code better than when found—to responsibly modify and enhance legacy code while minimizing risk and technical debt.

Code reviewLegacy CodeSoftware Engineering
0 likes · 13 min read
Five Practical Ways to Improve and Maintain Code Written by Others
21CTO
21CTO
Oct 6, 2015 · Fundamentals

How to Tame Legacy Code: Proven Strategies for Effective Cleanup

This guide walks you through practical steps for assessing, testing, version‑controlling, incrementally refactoring, and simplifying messy legacy code so you can safely improve maintainability without introducing new bugs.

Legacy CodeVersion Controlcode cleanup
0 likes · 14 min read
How to Tame Legacy Code: Proven Strategies for Effective Cleanup
Baidu Tech Salon
Baidu Tech Salon
Sep 11, 2014 · Backend Development

The Benefits of Software Maintenance and Debugging for Developers

Software maintenance and debugging sharpen analytical and coding skills, expose developers to diverse tools and legacy systems, improve performance optimization and database knowledge, foster client relationships and referrals, provide steady income, and allow quick, focused work that deepens business understanding while avoiding large‑scale outsourcing.

Backend DevelopmentDebuggingLegacy Code
0 likes · 9 min read
The Benefits of Software Maintenance and Debugging for Developers
Baidu Tech Salon
Baidu Tech Salon
Jul 23, 2014 · Fundamentals

Guidelines for Refactoring and Cleaning Up Legacy Code

When inheriting tangled legacy code, first decide if you’re responsible and willing to invest, then establish comprehensive tests, use version control, make incremental changes, separate cleaning from bug fixing, remove dead code and comments, avoid mutable shared state, and eliminate unnecessary complexity to improve maintainability.

Code RefactoringLegacy CodeSoftware Engineering
0 likes · 14 min read
Guidelines for Refactoring and Cleaning Up Legacy Code