InfoQ Homepage Refactoring Content on InfoQ
-
Building an Effective Platform by Focusing on End-to-End Workflows
Platform engineering teams need to focus on building end-to-end workflows versus individual tools according to Naphat Sanguansin, CTO at Prodvana. A focus on workflows will help to abstract away the complexities of running services and allow for application engineers to focus on their product.
-
Fast-Track Application Refactoring with the Generally Available AWS Migration Hub Refactor Spaces
AWS first introduced the preview of AWS Migration Hub Refactor Spaces, a new capability of AWS Migration Hub, last November at re:Invent 2021. Now, the public cloud provider announced the general availability of the Migration Hub capability.
-
Spotify's Journey to a Unified Codebase for Its Web and Desktop Clients
Spotify recently published an account of their journey towards a unified codebase for their web and desktop clients. Spotify's team was the owner of a web-player and a separate, full-featured desktop client. Due to having to implement many features twice, they were not shipping at the pace they wanted. Now Spotify created one codebase for both, resulting in an improved development cadence.
-
Sentry Migrates Its Frontend to Typescript - Lessons Learned
Mark Story and Priscila Oliveira recently shared lessons learned when converting Sentry’s frontend codebase (one-year effort, 100,000 lines of code) to TypeScript. The pair described a gradual conversion process in which TypeScript progressively replaced JavaScript, types were continuously refined as new TypeScript language features were released, and complex types were built incrementally.
-
Refactoring Large Haskell Codebases Using Facebook Retrie
Facebook has open-sourced the tool they use to refactor their own Sigma anti-abuse rule engine. Named Retrie, this tool allows developers to describe rewrites as equations in Haskell syntax rather than regular expressions.
-
Decomposing a Monolith Does Not Require Microservices - Sam Newman at QCon London
Sam Newman says the goal of decomposing a monolith must be independent deployability, and developers need to focus on the outcome, not the technology. Speaking at QCon London, he said, "The monolith is not the enemy" and, "Microservices should not be the default choice."
-
Refactoring GitHub OctoKit JavaScript REST SDK for Maintainability and Modularization
GitHub engineer Gregor Martynus recently described his journey to refactor GitHub official REST JavaScript SDK, originally containing about 16 thousand lines of code across six files total, into a more maintainable and modular project.
-
An Incremental Architecture Approach to Building Systems
Of most of the applications we have globally, maybe 90% of them are perfectly served by a monolithic approach. To avoid overengineering, we should start with a simple architecture and evolve it as needs arise, Randy Shoup recently declared in a presentation where he described his experience with companies that started small and then grew into large global internet companies.
-
Too Many Scripts Can Kill Your Continuous Delivery
Avantika Mathur spoke at Continuous Lifecycle London last month on the costs associated with an ever increasing number of scripts in a Continuous Delivery pipeline. Besides the cost of maintaining the scripts, the lack of visibility and auditability on exactly what activities are being carried out before deploying a change to production is another major cost not many organizations are aware of.
-
How Technical Practices Support Evolutionary Architecture and Continuous Delivery
Technical practices of XP such as TDD, Refactoring, CI and Pair Programming support emergent design and enable evolving your architecture. The first practice you need for continuous delivery is CI, committing to mainline every day. Being able to write clean, well-factored, and well-tested modular code is the most important skill for developers.
-
TypeScript 2.5 Released, Adds Language Level Refactoring
Microsoft has released TypeScript 2.5. The release is light on new language features, but has some new abilities including basic refactoring built into the language service itself.
-
Refactoring and Code Smells – A Journey Toward Cleaner Code
Refactoring helps to move towards cleaner code that is easier to understand and maintain. It takes practice and experience to recognise code smells: symptoms of bad design which indicate deeper problems in the code. Tools can be helpful to refactor in small steps and prevent breaking the code.
-
How and Why Etsy Moved to an API-First Architecture
At QCon New York 2016, Etsy software engineer Stefanie Schirmer told how her company successfully transitioned to an API-first architecture that supports multiple devices, addresses server-side performance problems, and was quickly adopted by development teams.
-
GitHub's Scientist Aims to Help Refactoring Critical Paths
GitHub has just made available Scientist 1.0, a Ruby library that will help developers refactor or rewrite their code with confidence, writes GitHub engineer Jesse Toth, and that was used at GitHub over the last few years for a number of projects. InfoQ has spoken with Toth.
-
Measure and Improve Code Quality
InfoQ interviewed Boris Modylevsky about the importance of measuring code quality and how measurements can be used to improve quality, integrating static code analysis in continuous integration, testing coverage and test automation, and the benefits that continuous integration with integrated code analysis and test coverage can bring.