Binder is het centrale communicatiesysteem binnen Android dat ervoor zorgt dat afzonderlijke apps veilig en snel gegevens kunnen uitwisselen met het besturingssysteem. Ooit begon de ondersteuning daarvoor in de Linux-kernel als één enkel C-bestand, maar door de jaren heen stapelden nieuwe functies, complexe vergrendelingen en uitzonderingen zich op. Het resultaat was een berucht monolithisch bestand dat maar weinigen nog van begin tot eind konden doorgronden. De ontwikkelaars hebben de code niet zomaar weggegooid, maar logisch opgesplitst in kleinere, doelgerichte bestanden die elk een eigen taak uitvoeren, zoals het afhandelen van transacties of het beheren van processen.
In de praktijk betekent dat voor gebruikers van Android en Linux-gebaseerde Android-omgevingen dat er aan de oppervlakte niets verandert, maar dat de betrouwbaarheid onder de motorkap toeneemt. Doordat de code veel overzichtelijker is ingedeeld, kunnen ontwikkelaars wijzigingen sneller beoordelen en fouten gerichter oplossen. Dat verkleint het risico op haperingen en beveilingsproblemen in een subsysteem dat continu op de achtergrond actief is.
Het schrappen van binder.c illustreert hoe belangrijk refactoring is voor een project van deze omvang. Het toevoegen van nieuwe mogelijkheden trekt vaak de meeste aandacht, maar het opschonen van oude, verweven broncode zorgt ervoor dat de Linux-kernel ook op de lange termijn veilig en vlot blijft functioneren.
