Piranha, lo strumento OpenSource di Uber che va a caccia del codice obsoleto
Uber ha reso disponibile il progetto open-source Piranha, uno strumento che permette di cancellare automaticamente porzioni di codice “stale” (vecchio, non più in uso).
Dal blog di Uber:
“At Uber, we use feature flags to customize our mobile app execution, serving different features to different sets of users. These flags allow us to […] gradually roll-out features to our users and experiment with different variations of the same functionality […] However, after a feature has either been 100% rolled out to our users or an experimental feature has been deemed unsuccessful, the feature flag in the code becomes obsolete”,
“Qui in Uber, utilizziamo delle feature flag per personalizzare l’esecuzione della nostra app mobile, per offrire diversi set di funzionalità per diversi set di utenti. Queste flag ci permettono […] di implementare gradualmente le funzionalità per i nostri utenti e sperimentare diverse varianti della stessa funzionalità […] Tuttavia, dopo che una feature è stata rilasciata a tutti gli utenti, tali flag nel codice diventano obsolete”
Come funziona? Per farla molto, molto semplice:
Al tool vengono dati in pasto il codice sorgente, la feature flag obsoleta, un eventuale risultato del codice (il suo output) e l’autore. Piranha scansiona il codice, si occupa del refactoring e notifica l’autore indicando tutte le differenze necessarie e tutti i riferimenti alla feature flag che verranno cancellati. L’autore può quindi decidere se accettare le modifiche o procedere personalmente ad’ una ulteriore ottimizzazione. Un bot apposito, tale PiranhaTidy, notifica con appositi reminder le “diff” non applicate da troppo tempo. Per non lasciare nulla al caso, Piranha è in grado di analizzare il codice (secondo Uber può gestire tranquillamente milioni di righe per scansione) e segnalare agli autori feature flag non ottimizzate da troppo tempo (indicabile, chiaramente, con un valore a scelta).
A cosa serve tutto ciò? Il processo di refactoring e pulizia del codice incide sulla velocità di release ed è uno dei task che richiede un carico di lavoro notevole da parte degli sviluppatori. Lo step di ottimizzazione del codice, con Piranha, è a carico dello strumento, che si occupa di “rimasticarlo” e inoltrarlo per la sola revisione a chi nel frattempo può occuparsi di sviluppare nuove feature.
Il tutto, fosse il caso di ribadirlo, disponibile in forma open-source. Mica male…
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.