Kas yra katilinė ir kodėl mes ją naudojame? Kodavimo stiliaus vadovo būtinumas

Informacinių technologijų srityje kaitlentė yra rašymo vienetas, kurį galima pakartotinai naudoti be pakeitimų. Be to, idėja kartais taikoma daugkartiniam programavimui, kaip „katilo kode“.

Teisinėse sutartyse, įskaitant programinės ir aparatinės įrangos sąlygas, gausiai naudojamos katilinės.

Pavyzdžiui, teisininkas gali suteikti jums pasirašyti penkių puslapių sutartį, tačiau didžioji sutarties dalis yra katilinė - tai reiškia, kad ji vienoda visiems, kurie gauna tą sutartį, čia ir ten pakeitus tik kelias eilutes.

Kompiuterių programavime katilo kodas arba katilinė reiškia kodo sekcijas, kurios turi būti įtrauktos daugelyje vietų, mažai arba visiškai nekeičiant. Jis dažnai naudojamas kalbant apie kalbas, kurios laikomos daugiažodėmis , ty programuotojas turi parašyti daug kodo, kad atliktų minimalius darbus.

Pvz., Kuriant žiniatinklį, paprasta HTML katilinė atrodytų taip:

Hello world! This is HTML5 Boilerplate.

Čia galite peržiūrėti visą saugyklą:

h5bp / html5-katilinė

„html5-boilerplate“ - profesionalus „front-end“ šablonas, skirtas greitai, tvirtai ir lengvai pritaikomoms interneto programoms ar svetainėms kurti. github.com

1890-aisiais katilas buvo išlietas arba antspauduotas iš metalo, paruoštas spaustuvei ir išplatintas laikraščių spaustuvėms ir įmonėms visoje JAV. Iki 1950-ųjų tūkstančiai laikraščių gavo ir naudojo tokį katilą iš didžiausio šalies tiekėjo - Vakarų laikraščių sąjungos. Kai kurios įmonės taip pat išsiuntė pranešimus spaudai kaip katilą, todėl juos reikėjo spausdinti kaip parašytus.

Dauguma profesionalių interneto kūrėjų sukūrė išteklių ir kodo fragmentų kolekciją, kurią jie pakartotinai naudoja projektuose, kad paspartintų plėtrą. Yra keletas universalių ar beveik universalių modelių, kuriuos visos svetainės turi bendrą. Užuot nuolat juos atstatę, dauguma kūrėjų pradeda kopijuoti kodą, kurį naudojo panašiam projektui, ir tada jį modifikuoti.

Kai kurie kūrėjai pripažįsta šių katilų starterio šablonų vertę ir sugaišta laiko, kad katilą padarytų bendresnį, ir dalijasi jais internete, kad kiti galėtų naudoti.

Tai neapsiriboja tik interneto kūrimu. Tai naudojama ne tik AI / ML, nes yra daugiau augančių sistemų ir bibliotekų.

Būtinos katilinės charakteristikos dideliems projektams (paruoštas gamybai)

  • Gera ir skaitoma dokumentacija?
  • Kodo struktūra su gilesniu abstrakcijos lygiu
  • Laikomasi tinkamo kodavimo standarto
  • Turi CLI įrankį (greitam prototipų kūrimui ir sąrankai)
  • Keičiama?
  • Paprasti testavimo įrankiai
  • Būtini API moduliai
  • Parama internacionalizacijai ir lokalizacijai?
  • Kodo padalijimas
  • Serverio ir kliento kodas sąrankai
  • Tinkama navigacijos ir maršruto struktūra?

Po visų šių minimalių specifikacijų turėtumėte pradėti redaguoti ir keisti kodą, kad sukurtumėte savo projektą.

Yra keletas didelių technologijų kompanijų, kurios netgi kuria savo katilą. Jie visą laiką jį naudoja atitinkamiems ir panašiems projektams.

Puikus to pavyzdys būtų reak.js katilinė:

reakcijos katilinė / reakcijos katilinė

reaguoti-katilinė -: gaisras: labai keičiamo dydžio, neprisijungus veikiantis pamatas, turintis geriausią kūrėjų patirtį ir dėmesį ... github.com

Katilinė mažesniems projektams (pastoliai)

Šio tipo katilinės paprastai yra „pradedančiųjų rinkiniai“ arba profesionaliai vadinamos „pastoliais“. Jų pagrindiniai tiksliniai vartotojai yra pradedantieji kūrėjai arba nauji ankstyvieji vartotojai.

Daugiausia dėmesio skiriama greitam prototipų kūrimui kuriant elementus, kurie yra būtini tik naujiems projektams. Tai reikalauja mažiau funkcionalumo ir nėra keičiama laikui bėgant.

Jų kodo struktūra nėra labai išplėsta ir neapima gilesnio abstrakcijos sluoksnio, nes vartotojams reikia sukurti tik pagrindines funkcijas. Tai pašalina papildomų komunalinių paslaugų poreikį.

Paprasčiausias pavyzdys yra „Facebook“ sukurkite-reaguokite-programos katilinė:

facebookincubator / sukurti-reaguoti-app

sukurti-reaguoti-programa - kurkite „React“ programas be komponavimo konfigūracijos. github.com

Kuo skiriasi katilinė ir šablonas?

Kaip aiškiai sako Joachimas Pense'as, katilą galite kopijuoti, įklijuoti ir tiesiog pridėti prie dokumento. Dažniausiai tai iškyla sutartyse, kuriose vartojama ir pakartotinai naudojama kalba, nurodant tokius dalykus kaip sąlygos ir įspėjimai.

Rašytojai naudoja šablonus kaip modelius , kartais turėdami neigiamą poveikį. Apskritai šablonas yra modelis arba modelis, naudojamas kuriant naujus objektus. Rašydamas tai yra standartizuota forma, panašiai kaip gyvenimo aprašymas, kurį rašytojai gali naudoti norėdami patikslinti savo versijas.

Skirtingai nuo katilų, šablonai pritaikyti tam tikram naudojimui. Man kilo problema, kai studentai savo gyvenimo aprašymams naudojo „Word“ šablonus, ir visi jie atrodė vienodi.

Ir šablonai, ir katilai gali padaryti verslo rašymą sugedusį ir dirbtinį, jei jis naudojamas neprotingai.

Stiliaus vadovas kodui rašyti

Nepriklausomai nuo to, ar naudojate katilą, ar ne, yra keletas standartų, kurių įmonės laikosi kodui rašyti. Vienas iš jų yra „ Stiliaus vadovas“. Jame bandoma paaiškinti pagrindinius stilius ir modelius, kurie naudojami įvairiose įmonėse ar organizacijose. Paprastai tai yra taisyklė, kad darbuotojai turi priimti savo įmonės kodavimo stiliaus vadovą.

„Stiliaus vadove“ aprašoma daugybė kodo rašymo taisyklių, pvz., Skirtukų ir tarpų įtraukimas, kintamųjų ir funkcijų įvardijimas, būtinų komentarų rašymas, formatavimas, šaltinio failų struktūros, naudojant tinkamą duomenų struktūrų metodą, vengiant pakėlimo, apimties nustatymo, valdymo teiginių ir daug daugiau.

Programavimo stiliai dažniausiai yra susiję su vizualine šaltinio kodo išvaizda, kad būtų galima ją perskaityti. Jau seniai yra programinė įranga, kuri formatuoja šaltinio kodą automatiškai, palikdama programuotojams didžiausią dėmesį skirti pavadinimams, logikai ir aukštesnėms technikoms.

Praktiškai, naudojant kompiuterį šaltinio kodui formatuoti, sutaupoma laiko, o tada be diskusijų galima įgyvendinti visos įmonės standartus. (Šaltinis - „Wiki“).

Tai yra keletas įprastų diskusijų, tokių kaip: „ Tabs v Spaces Holy War“ , tobulo „Code IDE“ pasirinkimas ir pan. Įdomu tai, kad galite įsitraukti į šias diskusijas, kurios dažniausiai vyksta „ Reddit“ . Taip pat galite dalyvauti kai kuriuose „ Q&A“ srautuose .

Interneto kūrėjams labiausiai paplitęs „JS“ stiliaus vadovas yra „ Airbnb“ „JavaScript“ stiliaus vadovas. Tai atviras šaltinis ir kiekvienas gali prisidėti.

„airbnb“ / „javascript“

javascript - „JavaScript“ stiliaus vadovas github.com

Jei kas nors abejoja, kodėl „Javascript“ reikia stiliaus vadovo, perskaitykite antrąjį šio leidimo atsakymą, kurį pateikė Harrisonas Shoffas, kuris yra „ Airbnb“ programuotojas .

Kodėl „JavaScript“ reikia stiliaus vadovo? · 102 leidimas. „Airbnb / javascript“

Viena iš mano mėgstamiausių „JavaScript“ bendruomenės dalių yra ta, kad žmonės nusprendžia ją rašyti labai įvairiai ... github.com

Štai keletas populiariausių šiandien kalbų stiliaus vadovų:

„DotNet“ kodo formatavimas

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

Standartinis „Javascript“ stilius (skiriasi nuo „airbnb“ javascript)

PHP kodavimo standartai Fixe r

„Python“: „Google“ YAPF

Rubinas: Rubokopas

Daugiau iš „Boilerplate“: OOP koncepcija

Objektinėse programose klasėms dažnai pateikiami egzempliorių kintamųjų gavimo ir nustatymo metodai. Šių metodų apibrėžimus dažnai galima laikyti katilais.

Nors kodas įvairiose klasėse skirsis, jis yra pakankamai stereotipinės struktūros, kad jį būtų geriau sugeneruoti automatiškai, nei parašyti ranka.

Pvz., Šioje „Java“ klasėje, atstovaujančioje naminiams gyvūnėliams, beveik visas kodas yra „boilerplate“, išskyrus „ Pet“ , vardo ir savininko deklaracijas :

public class Pet { private String name; private Person owner;
public Pet(String name, Person owner) { this.name = name; this.owner = owner; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Person getOwner() { return owner; }
public void setOwner(Person owner) { this.owner = owner; }}

„Boilerplate“ apibrėžimas šiais laikais tampa vis globalesnis daugeliu kitų programavimo kalbų. Jis kilęs iš OOP ir hibridinių kalbų, kurios kažkada buvo procedūrinės, bet tapo OOP. Dabar jie turi tą patį tikslą pakartoti jūsų sukurtą kodą su modeliu / šablonu / klase / objektu, todėl jie priima šį terminą. Jūs darote šabloną ir vieninteliai dalykai, kuriuos darote kiekvienam šablono egzemplioriui, yra atskiri parametrai.

Šią dalį mes vadiname katiline. Paprasčiausiai iš naujo naudojate kodą, kurio šabloną padarėte, bet su skirtingais parametrais.

Katilo plokštė kaip API

Kadangi jūs paprasčiausiai iš naujo naudojate šablono kodą su skirtingais parametrais, tai reiškia, kad mes galime sukurti daugkartinio naudojimo API, kuriems reikia pakeisti tik įvestis ir išvestis.

Išvada

„Boilerplate code“ yra bet koks iš pažiūros pasikartojantis kodas, kuris rodomas vėl ir vėl, norint gauti rezultatą, kuris, atrodo, turėtų būti daug paprastesnis.

Parašiau šį straipsnį, nes neseniai komandos vadovas man nurodė sužinoti apie daugybę katilų variantų, kurie gali būti tinkami mūsų projektui. Taigi man teko ieškoti tobulos katilinės.

Bet kokio tipo atsiliepimai bus dėkingi! Šurmulys!