Tab vs Spaces? Meh.
Postoje druga dva simbola koja su kontroverznija.
Eduardo
Eduardo je često bio necio; ono što bi najbliže preveli kao “nedokazan”. Imao je čvrste stavove oko većine pitanja; smatrao je, čak, da je dužnost da ih imamo - i potom neprestano branimo. Voleo je jasne odgovore, Si i No, crno i belo; kako pa i može drugačije? Ako se baviš softverskim razvojem tim pre: pa ne možemo “možda” otkucati u kodu, ¡maldita sea! Nejasnoće su ono što čine da kod truli, a Eduardo nije bio tip koji će dozvoliti da se to desi.
Jamiko
Prošli bi pored nje, a da je ne primetite. Jamiko je bila sitna rastom, uvek zamišljeno zagledana negde daleko dok putuje gradskim vozom, čak i na deonicama ispod zemlje. Iako povučena, zapravo je uživala je u interakciji sa drugima; ipak nikada ne prelazeći crtu nakon koje red prestaje.
立つ鳥跡を濁さず, imala bi običaj da govori. Red se mora aktivno održavati. Naročito u softverskom razvoju, razmišljala je Jamiko dalje, postoje kohezije koje se moraju održavati, a ne postoji drugi način osim pažnjom i neprestanim marljivim delanjem.
Eduardo
Tog dana je preskočio fiestu; prokleti da su poslovi koji ne poštuju tradicije zaposlenih, ljutio se Eduardo u sebi. Ovo nema smisla, branio je Eduardo dalje svoj stav, dokazano je da fiesta poboljšava kognitivne sposobnosti. Šta tu nije jasno?
Za to vreme, Eduardo klikće po sajtu internog sistema sa registraciju API-ja. Zaustavlja se na ekranu za dodavanje identifikatora rola za upravo objavljen API. Kurzor treperi u ritmu koji mu takođe nema smisla, te mu misli odlutaše dalje na ko zna koju stranu… sve dok ga nije prenula zvučna notifikacija Sleka.
Eduardo je otipkao: xtrop_backend:cart_write
i sačuvao izmene.
Jamiko
Jamiko je radila bez prestanka na integraciji APIja u svoj kod. Hitnja je bila samo njena: želela je da završi sve danas, u petak; u suprotnom će se ceo vikend podsećati da je posao ostao nedovršen. Malo šta je mogla da uradi povodom toga, prosto je bila takva otkad zna za sebe.
Srećom, reč je o jednostavnoj integraciji sa novim mikroservisom: trebao joj je samo jedan API poziv, za sada. Očas posla, radovala se Jamiko.
Eduardo
Nikako nije voleo -
. Imao je on svoje razloge, o da; neki su bili na mestu, drugi su bili smisleni samo u njegovoj glavi. Postoji samo jedan ispravan način za razdvajanje imena u kojekakvim sistemskim i programskim varijablama: _
, guión bajo, molim lepo. Donja crta je univerzalni razmak koji svuda radi posao! Zašto bi, bajo la gracia de Dios, koristili -
? Pa to je minus, oduzimanje, operacija!
Šta tu nije jasno?
Jamiko
Petak se produžio kao kakav 新幹線 sa beskonačno vagona koji nikako da prođu. Jamiko je po ko zna koji put proverila internu dokumentaciju i sve prethodne integracije koje je do sada uključila u projekat. Sve je bilo kako treba, u potpunom redu, na svom mestu. A opet, novi API nikako da se makne sa greške 403
. Nažalost, nije mogla da sazna više: komponente za autentikaciju nisu dostupne programerima, a devopsi su vazda bili zauzeti i nisu odgovarali na takve minorne zahteve programera.
Kada nije preostalo ništa drugo, posumnjala je u ispravnost klijentskih ključeva i rola. Konačno, uočila je grešku. Njena rola je bila nazvana na način kako su i sve ostale role u sistemu: xtrop-backend:cart-write
.
Bio je petak, bilo je kasno, Jamiko je bila umorna, a najviše: red je poremećen. Završila je brzo šta je preostalo i isključila se sa posla. Moraće da posegne u sebe i potraži 幽玄.
Epilog
U softverskim projektima postoje svojstvena uređenja, uvezanosti, koje nisu ničim garantovane: ne postoji alat koji ih sprovodi. Reč je o konvencijama koje se jedino i isključivo održavaju neprestanim pažljivim i marljivim naporom da uređenje o(p)stane. Onog trenutka kada se naruši, sve pada u vodu: pravilo prestaje da važi i sve postaje dozvoljeno.
Na prvi pogled, priča deluje naivno. Međutim, gde je jedna pukotina, tu je i druga - teorija polomljenog prozora je strpljiva. Priča je preuzeta iz pravog projekta koji se pravio za ozbiljne klijente (ako ozbiljnost merimo količinom para kojima barataju). Projekat je vrištao ovakvim nedoslednostima: to je išlo dotle da se jedna od softverskih komponenti zvala u kodu “crveno”, a pravo ime joj je bilo… ta-daa… “plavo”! (imena su drugačija, naravno.) Ovakve nedoslednosti su se prelivale u svakodnevne zadatke, a konačno su završile u načinu rezonovanja svih na projektu.
Ne bih više ništa dodao.