Chiosa
Software & Code

DoorDash automatizza la rimozione dei feature flag tra più file

2 min
Aggiornato

In parole semplici

I feature flag permettono ai team software di attivare o disattivare funzionalità. Quando una funzionalità è stata rilasciata del tutto, il vecchio flag e il codice che lo circonda possono restare nel programma e richiedere lavoro per essere rimossi, soprattutto se il flag è collegato a codice distribuito in molti file.

L’articolo presenta un sistema di DoorDash che controlla il valore effettivo del flag, chiede a un ingegnere di confermarlo e poi modifica il codice, aggiorna i test e prepara una pull request. In 50 rimozioni recenti nei repository Kotlin, 45 pull request sono state accettate subito o dopo correzioni minori; cinque hanno richiesto correzioni sostanziali.

La ricerca

A maggio 2026 DoorDash segnalava 1.659 feature flag obsoleti in circa 623 repository. Il codice di un flag può essere distribuito tra più file e il valore usato in produzione può differire da quello predefinito nel codice. Come si può rimuovere il codice collegato usando il valore corretto?

Un sistema di DoorDash controlla il valore effettivo dei flag, chiede la conferma di un ingegnere e coordina le modifiche a codice e test per preparare pull request di rimozione.

Il sistema di DoorDash controlla il valore effettivo in produzione di un flag obsoleto, cerca i riferimenti nel codice e chiede a un ingegnere di confermare il valore proposto prima di apportare modifiche. Gli agenti di rimozione aggiornano poi codice e test, verificano i cambiamenti e preparano pull request.

La conferma è importante perché il valore in produzione può differire da quello predefinito nel codice.

Nella revisione degli autori su 50 rimozioni recenti nei repository Kotlin di DoorDash, 45 pull request sono state accettate subito o dopo correzioni minori, mentre 5 hanno richiesto correzioni sostanziali da parte di un ingegnere.

Gli autori hanno inoltre rilevato che 22 dei 26 casi classificati in seguito come complessi hanno prodotto pull request utilizzabili. Questi esiti mostrano che il sistema ha gestito molte delle rimozioni valutate, anche se i casi complessi hanno richiesto più spesso una revisione o un intervento.

La valutazione ha riguardato 50 rimozioni recenti in repository Kotlin di DoorDash, elaborando una volta ciascun flag.

Gli autori osservano che ripetendo l’elaborazione si potrebbero ottenere risultati diversi e che i risultati potrebbero non valere per altri linguaggi, framework per i flag o codebase.

Analisi

Dettagli

Paper successivoUn test basato sui bug rivela i limiti della code review automatica