Code Like A Girl

Welcome to Code Like A Girl, a space that celebrates redefining society's perceptions of women in technology. Share your story with us!

Follow publication

Member-only story

OpenRewrite: Easy Code Refactoring for Seamless Development

Kirshi Yin
Code Like A Girl
Published in
4 min readDec 6, 2023

--

A compter room
Photo by Aditya Wardhana on Unsplash

Have you ever wished for a coding companion that effortlessly updates your project? Enter OpenRewrite, a must-have toolkit for code transformation.

OpenRewrite is a powerful refactoring ecosystem that automates the often tedious task of code maintenance. Its standout feature lies in applying “recipes” to your source code. These recipes, written in Java, act as intelligent directives, guiding OpenRewrite through various transformations.

Whether upgrading dependencies, applying crucial security patches, transitioning between technologies (like migrating from Spring Boot 2 to Spring Boot 3), or simply cleaning up your code, OpenRewrite can help.

The usage is very straightforward:

The beauty of OpenRewrite extends beyond its built-in recipes, as it thrives on community contributions. Everybody can help by adding new recipes to solve shared problems.

In this tutorial, I’ll show you how to update your code in a few easy steps using the OpenRewrite plugin in a Maven-based project.

Let’s explore it!

OpenRewrite Demo

Now that you’ve understood how OpenRewrite works let’s dive into some real-world scenarios where it can come in handy:

  • Dependency updates: A simple recipe can scan your project, identify outdated dependencies, and update to the latest versions, ensuring your project stays up-to-date. For example, consider migrating from Log4j 1.x to Log4j 2.x. The recipe will automatically update the version, and the package names.
  • Security: By applying specific recipes, you can address vulnerabilities. For instance, if offers a Java security best practices recipe. It can also identify potential security issues, like keeping an AWS secret in plain text in the code.
  • API deprecation: A tailored recipe can identify and replace deprecated calls, keeping your codebase aligned with the latest best practices. For example, it can migrate the deprecated javax.xml.bind packages to jakarta.xml.bind.

--

--

Published in Code Like A Girl

Welcome to Code Like A Girl, a space that celebrates redefining society's perceptions of women in technology. Share your story with us!

Written by Kirshi Yin

Self-taught Java Developer. Explores topics about Spring Boot, NLP, Linux, low-coding, and more. Interested in foreign languages, investment, personal growth.

No responses yet

Write a response