Tag
Simon Willison argues that completely rewriting legacy systems from scratch rarely succeeds and typically results in two parallel systems in production. He recommends shoring up the old system with automated testing and targeted refactors instead, citing Will Larson's writing on migrations as the best responsible approach.
A comparison of Claude Code and Codex in a refactoring task reveals that Claude took longer but produced more thorough code with better UI design, while Codex was faster but required additional prompts to work properly.
Sandy Metz discusses making code small and using tests to guide refactoring, illustrated through the Gilded Rose kata.
This article explains techniques to reduce C++ template bloat by factoring out type-dependent code into helper objects or using span-based approaches, enhancing code efficiency and maintainability.
A case study describing how an AI coding agent dismantled a core architectural invariant across 189 files in a 717k-line codebase using a specification-first convergence methodology, with no test oracle and no human code review. The agent iteratively refined a 55-page specification and performed correction loops, fixing 201 self-identified mistakes across 31 audit loops.
An opinion piece arguing that platform engineering and code reuse remain valuable even with AI coding tools, because tokens cost money and reuse provides leverage. Cites Martin Fowler's similar argument about refactoring.
This article presents an experiment on refactoring a large codebase written by AI agents, demonstrating that refactoring reduces token consumption for future AI-driven changes. The author details the methodology and results showing a decrease in input tokens after refactoring.
This blog post details the evolution and recent refactoring of Futhark's type checker, from a simple type checker to Hindley-Milner inference and the complexities of adding features like uniqueness types and size types.
clj-refactor.el 4.0, the first major release in almost five years, introduces hot dependency loading, asynchronous refactoring, diff previews, a transient menu, and numerous improvements for Clojure development in Emacs.
Slopfix offers a paid service to refactor and reduce AI-generated codebases, charging $10k per week with a fixed price based on reduction targets.
A blog post describing a technique to anchor living specs to code using ast-grep rules that match code structure instead of file paths, preventing spec rot when code moves during refactors. The approach is designed for AI agents that read specs on every task, with anchors that survive moves but not renames.
The author shares their experience using various AI coding assistants (Claude Code, Codex, Pi) for code review and refactoring, finding frontier models surprisingly effective at catching subtle bugs but noting the lower quality and erratic behavior of some tools.
AgRefactor is an LLM-based multi-agent workflow for refactoring software into HLS-compatible programs, featuring a self-evolving memory system and automated refactoring tools, achieving significant speedups on real-world benchmarks.
Matt Pocock announces adding Martin Fowler's code smells to his /review skill for AI coding agents, and shares his open-source collection of composable agent skills designed to improve real engineering workflows.
The article argues that duplication is cheaper than the wrong abstraction, and advises developers to avoid forcing abstractions that later become complicated with conditionals.
This paper presents an exploratory case study evaluating GPT-4o's ability to perform refactoring and generate gameplay features in an endless runner game, finding that refactoring tasks succeeded while feature generation tasks mostly failed.
A Claude Code skill that autonomously scans codebases for architecture improvement opportunities (e.g., shallow modules), creates delta-aware, analysis-only issues and PRDs, ready for implementation.
The EverOS open-source library has completed a major refactoring, storing original memory directly as Markdown files, supplemented by SQLite for state management and LanceDB for retrieval, significantly improving developer readability, modifiability, and fault recovery.
Introducing pi-dynamic-workflows, a tool that enables LLMs to dynamically orchestrate multiple sub-agents for parallel task execution by generating JavaScript scripts, suitable for code audits, large-scale refactoring, and similar scenarios.
Sharing personal experience of using Codex and Claude Code to refactor front-end UI via vibe coding. Disclaimer: not professional design, for technical reference only.