Til ros for utviklere som sletter kode

Bilde: iStockphoto / Viktoriia Hnatiuk

Velsignet er kodekommitterne til open source-prosjekter. Men mer velsignet er de som sletter, for deres er riket med effektiv og effektiv kode.

Ingen skrifter inneholder denne visdommen, men det gjør den ikke mindre klok. Som utvikler Dj Walker-Morgan har posert, "For meg er slettede linjer den endelige nedbrenningen av bakken der teknisk gjeld bygde." For å slette kodelinjer krever du dypt kjent med kodebasen, og reflekterer som sådan noe av den beste (ikke) prosjekteringen som er mulig for et prosjekt. På samme måte som Charity Majors har uttalt: "De beste senioringeniørene jeg har jobbet med, er de som jobbet hardest for ikke å måtte skrive ny kode."

Er det noen måte å feire de som sletter eller som skriver mindre for å levere mer?

Hvordan bygge en vellykket utviklerkarriere (gratis PDF)

Blir reell om teknisk gjeld

Mens teknisk gjeld ofte er karakterisert som et resultat av "å ta en enkel, men suboptimal avgjørelse i programvareutviklingsprosessen, " liker jeg Dormain Drewitz sitt forslag om at "all kode er teknisk gjeld." Hvorfor? Fordi det er i ettertid lett å klassifisere kodebeslutninger og det resulterende cruft, men ved skriving av koden kan det ikke ha vært et bedre alternativ. Faktisk kan det ha vært det absolutt beste alternativet den gangen.

Men det betyr ikke at den trenger å vedvare.

Imidlertid påløper "gjelden" (legg til side for øyeblikket om du liker / misliker begrepet og om, som RedMonk's Rachel Stephens med rette hevder, begrepet er ufullstendig), Martin Fowlers råd om hvordan du takler det resonerer:

Jeg liker Sarah Mies beskrivelse av teknisk gjeld som "rot" (som et rotete hus). For de som tror slik rot / gjeld blir vispet bort ved å flytte til en mikroservicearkitektur, gjør det ikke. Ikke egentlig. Mei skrev: "Y ou ende opp med et overdrevet mindre hus og en haug med uorganiserte lagringsenheter, og du finner fremdeles ingenting." Etter Fowlers råd, er den ideelle måten å takle gjelden / rotet på, kanskje å jobbe på de områdene som ser mest bidrag.

Noe som bringer oss tilbake til hvordan vi kan anerkjenne de som sletter.

En annen måte å bidra på

Bilde: Matt Asay

Hvis du ser på Cloud Native Computing Foundation (CNCF) toppliste for Kubernetes eller andre prosjekter, er det lett å se hvem som bidrar med kode: På den nedtrekksmenyen er det ikke nevnt "Liner med kode slettet" eller, etter Majors, " Ingeniører som jobbet hardt for ikke å legge til kodelinjer. " I stedet sporer vi de som bidrar med ny kode. Det er verdi i dette, men jeg bekymrer meg for at det ikke fanger et stort verdiområde for open source-prosjekter.

Det gjør også en skam jobb å måle betydelig kode kontra bare volumet av koden. Det er et vanskelig tiltak i praksis, men også viktig. Men la oss komme tilbake til kunsten å slette kode.

Som min tidligere kollega Henrik Ingo fortalte meg: "I løpet av 3 år i MongoDB-prosjektering har jeg slettet flere linjer enn jeg har lagt til." Så legger han til, i tungen i kinnet, "Akk, det er en tapende kamp. Bare styrker lagkamerater for å legge til flere tusen." De beste ingeniørene dukker kanskje ikke opp høyt på listen over bidragsytere fordi bidragene deres handler om å fjerne cruft like mye (eller mer) enn om å legge til kode. (For mange år siden skrev Yelps ingeniørteam om et verktøy de bygde - Undebt - for å "utføre massiv, automatisk kodeforbedring." Jeg har ikke sett en oppdatering eller om andre har brukt den.)

Jeg vil gjerne lære hvordan du eller organisasjonene dine oppdager og løfter de som sletter. Er det en måte vi også kan gjøre det på åpen kildekode-prosjekter? Jeg vet at det alltid er en ufullkommen vitenskap (eller kanskje meningsløs) å komme med toppliste, men så lenge vi har dem, vil jeg gjerne se mer vekt på de som hjelper til med å fjerne den tekniske gjelden / rotet i vår kollektive kode.

Ukens nyhetsbrev med åpen kildekode

Du vil ikke gå glipp av våre tips, opplæringsprogrammer og kommentarer til Linux OS og open source applikasjoner. Leveres tirsdager

Registrer deg i dag

© Copyright 2020 | mobilegn.com