100% teisingo kodavimo stiliaus vadovas

Skirtukai ar tarpai? Garbanotas petnešos ta pačia linija ar nauja linija? 80 simbolių plotis ar 120?

Koderiai mėgsta ginčytis dėl tokio pobūdžio dalykų. Diskusijos apie skirtukus ir erdves netgi tapo garsiu HBO šou „ Silicio slėnis“ epizodu .

Na, šiame straipsnyje aš pagaliau pateiksiu jums galutinius atsakymus, kurių ieškote.

Karjeros pradžioje dalyvavau visokiuose šventuose karuose. Perskaičiau keletą straipsnių apie tai, kodėl tam tikra konvencija buvo teisinga, o kita - visiškai neteisinga. Aš patekau ten ant savo aukšto ir galingo žirgo ir paskelbiau visiems, kurie klausėsi, kad jie klydo, o aš buvau teisus.

Man reikėjo metų, kol radau teisingus atsakymus, bet pagaliau tai padariau ir paaiškėja, kad atsakymas yra…

Šie dalykai nėra svarbūs.

Svarbu nuoseklumas. Svarbus skaitomumas. Ginčytis ir pabrėžti apie vieną suvažiavimą dėl kito nėra svarbu.

Per pastaruosius 20 ir daugiau metų stebėjau visas įsivaizduojamas tendencijas. Aš laikiausi skirtingų kalbų skirtingų nuostatų. Nė vienas iš jų nepaveikė mano klaidų skaičiaus ir nepadarė kodo efektyvesnio.

Nesupraskite manęs neteisingai, švariai atrodantį, gerai suformatuotą kodą bus lengviau pakeisti ir išlaikyti laikui bėgant, ir tai yra geras dalykas.

Taip pat nėra nieko blogo, jei norite, kad kodas atrodytų gražiai. Tačiau per dažnai tai naudojama siekiant pateisinti tai, kas iš esmės lemia atidėliojimą.

Mes taip vilkiname, nes sunku koduoti. Skubant viskas gali komplikuotis ir mes - ypač tie iš mūsų, kuriems šis sudėtingumo lygis gali būti naujas - galime įbauginti šio sudėtingumo ir tapti nesaugūs dėl savo sugebėjimo jį prisijaukinti.

Daug saugiau ginčytis dėl nereikšmingų dalykų. Mažiau tikėtina, kad mūsų suvokiamas nekompetencija bus taip atskleistas.

Reiškiniai, kai diskutuojama apie trivialumus siekiant išvengti sunkių problemų, yra tokie įprasti, kad yra daugybė populiarių teorijų, kurios tai apibūdina.

Vienas iš populiariausių yra Parkinsono aktualumas, kuriame teigiama, kad organizacijos nariai nereikšmingoms problemoms teikia neproporcingą svorį.

Iliustruodamas šį įstatymą, Parkinsonas panaudojo išgalvotą komiteto pavyzdį, kurio užduotis buvo patvirtinti naujos atominės elektrinės planus, tačiau kuris didžiąją laiko dalį praleido ginčydamasis, kokias medžiagas naudoti darbuotojų dviračių pašiūrėje. Jie nepaisė siūlomo pačios gamyklos projekto, kuris buvo kur kas svarbesnis, bet ir daug sudėtingesnis klausimas.

Dėl šiame kanoniniame pavyzdyje pateiktos nuorodos į dviračių mėtyklę danų kūrėjas Poul-Henningas Kampas vėliau apibūdino terminą „dviračių pastogės efektas“ arba tiesiog „dviračių mėtymasis“.

Jei dirbate programinės įrangos kūrimo srityje - ypač jei pabendraujate su kitais programuotojais socialinėje žiniasklaidoje - greičiausiai beveik kasdien susidursite su dviračių mėtymo forma.

Jei atsiduriate neįprastai karštose diskusijose su savo bendrais koduotojais internetu ar asmeniškai, tikriausiai taip pat verta prisiminti Sayre'o įstatymą ...

„Bet kuriame ginče jausmo intensyvumas yra atvirkščiai proporcingas nagrinėjamų klausimų vertei.“

Kaip konsultantas, aš peršokau iš kliento į klientą, ir kiekvienas iš jų turi savo taisykles ir susitarimus. Jau seniai nusprendžiau, kad vienintelis būdas man pasisekti - atsisakyti trivialumų ir sutelkti dėmesį į sunkias problemas. Kalbant apie kodavimo standartus, aš imuosi to, ką gaunu, ir nesinervinu.

Jei atsitiktų taip, kad galėtumėte pasirinkti savo stiliaus vadovą, rekomenduoju užduoti sau šiuos du paprastus klausimus:

  1. Ar yra įrankių, kurie stiliaus taisykles automatiškai pritaikys mano kodui, manęs mažai ir be jokio įsikišimo?
  2. Ar gerbiamos organizacijos aktyviai prižiūri ir (arba) naudoja įrankius ir pagrindinius stilius?

Jei galite atsakyti „taip“ į abu šiuos klausimus, tada gerai eikite. Paprasta.

Štai keletas variantų, kurie atitinka sąskaitą kai kurioms populiaresnėms interneto kalboms:

„DotNet“ kodo formatavimas

„Java“: „Google“ - „Java“ formatas

„Javascript“ standartinis stilius (NB, tai yra produkto pavadinimas, o ne tikras, oficialus „JavaScript“ standartas)

PHP kodavimo standartai Fixe r

„Python“: „Google“ YAPF

Rubinas: Rubokopas

Jei jums patiko šis straipsnis, pakartotinai sugadinkite plojimo piktogramą šio įrašo apačioje, kad padėtumėte skleisti žinią. Ir jei norite perskaityti daugiau panašių dalykų, užsiregistruokite žemiau esančiame savaitiniame „Dev Mastery“ naujienlaiškyje.