Launched: New Code References Capabilities Make Managing Tech Debt Easier Than Ever

975
Code-References

If your team uses feature flags to build and operate your software then you know that properly implementing and maintaining feature flags throughout the release lifecycle is important for code health (and for personal sanity).

Today, we are announcing a set of powerful new capabilities for our Code References tool to help you efficiently track and manage feature flag references in your codebase and achieve a healthy flag lifecycle.

Introducing Reference Aliases, Branch Filtering, and Last Reference Timestamps

As we’ve developed our own healthy release cycles at LaunchDarkly, three key factors surfaced as important considerations for managing technical debt with feature flags:

  1. Storing flag keys can differ greatly by team or feature, which sometimes makes it difficult to locate all references to a specific flag.
  2. Filtering by a repository is helpful, but narrowing your search for a flag reference to a specific branch can be much more efficient.
  3. Knowing whether a flag is active or not is often not enough, the latest pull request is essential context for a clean, consistent code base.

Let’s take a look at how Code References helps with each of these factors.

Reference Aliases

When introducing a new feature or making operational changes, confirming how and where a feature flag is referenced in code is the best way to confirm exactly how a feature is implemented. This way, there is never any question as to how a flag controls a piece of your software.

Using aliases in Code References eliminates blind spots in your code. Configure aliases for your flag keys, such as your unique patterns for storing flag key string literals in variables or wrappers, to make it easy to find a flag no matter how it is referenced in your source code.

code-reference-aliases

Branch Filtering

Feature flags can be used to orchestrate all manner of releases, and may span complex codebases. We’ve added branch filtering to our existing repo filtering to save you time when looking for a specific reference or flag reference point.

code-references-branch-filter

Last Reference Timestamps

Keeping track of where a flag is referenced, whether it is still active or has been properly removed (and by whom), are all part of a feature well shipped.

LaunchDarkly now automatically confirms when a feature flag’s last references were removed from your codebase, so you can rest easy knowing your code is clean.

last-reference-timestamp

More ways to make flag management simple

Code References is just one of many ways LaunchDarkly makes managing your features easy. Confirm a feature’s rollout status at a glance across any of your environments from the flag dashboard, transfer settings between environments for quick environment promotion with compare and copy, and sunset a feature flag quickly and safely with a guided Flag Archive workflow.

How you can start using Code References today

Install the latest version of the LaunchDarkly code references tool, and check out the updated ld-find-code-refs for setting up aliases documentation on GitHub.

Looking Ahead

A first class developer experience is one of LaunchDarkly’s main goals, and we will continue to invest in saving you time and helping you make well-informed decisions so you can focus on delivering great software.

As always, for questions or feedback drop our product team an email at feedback@launchdarkly.com.

To get started with LaunchDarkly, start a free trial today!

Cameron Savage
Cameron Savage is a Principal Product Manager at LaunchDarkly. Prior to LaunchDarkly, he’s worked on products at Atlassian and RetailMeNot ranging from team video and messaging tools to geofenced shopping apps to company-wide platform services. He recently spent seven months traveling the world with his partner, Michelle, before docking into LaunchDarkly’s orbit.