Hvad er kedelplade, og hvorfor bruger vi det? Nødvendigheden af ​​kodningsstil guide

I informationsteknologi er en kedelplade en skriveenhed, der kan genbruges igen og igen uden ændringer. I forlængelse heraf anvendes ideen undertiden til genanvendelig programmering, som i "kedelpladekode."

Juridiske aftaler, herunder vilkår og betingelser for software og hardware, gør rigeligt brug af kedelplader.

For eksempel kan en advokat give dig en fem-siders kontrakt til at underskrive, men det meste af kontrakten er kedelplade - hvilket betyder, at det er det samme for alle, der får den kontrakt, med kun et par linjer ændret her og der.

Ved computerprogrammering henviser kedelpladekode eller kedelplade til sektioner af kode, der skal inkluderes mange steder med ringe eller ingen ændringer. Det bruges ofte, når der henvises til sprog, der betragtes som detaljerede , dvs. programmøren skal skrive en masse kode for at udføre minimale job.

For eksempel i webudvikling vil simpel kedelplade til HTML se sådan ud:

Hello world! This is HTML5 Boilerplate.

Du kan se hele arkivet her:

h5bp / html5-kedelplade

html5-boilerplate - En professionel front-end-skabelon til opbygning af hurtige, robuste og tilpasningsdygtige webapps eller websteder. github.com

I 1890'erne blev kogepladen faktisk støbt eller stemplet i metal klar til trykpressen og distribueret til avispresser og firmaer rundt omkring i USA. Indtil 1950'erne modtog og brugte tusindvis af aviser denne form for kogeplade fra landets største leverandør, Western Newspaper Union. Nogle virksomheder sendte også pressemeddelelser ud som kedelplade, så de skulle udskrives som skrevet.

De fleste professionelle webudviklere har oprettet en samling aktiver og kodestykker, som de genbruger på projekter for at fremskynde udviklingen. Der er nogle universelle eller næsten universelle mønstre, som alle websteder deler til fælles. I stedet for løbende at genopbygge disse, starter de fleste udviklere med at kopiere den kode, de brugte til et lignende projekt, og derefter begynde at ændre det.

Nogle udviklere genkender værdien af ​​disse kogepladestarterskabeloner og tager sig tid til at gøre kedelpladen mere generisk og dele dem online, så andre kan bruge dem.

Dette er ikke kun begrænset til webudvikling. Det bruges ud over i AI / ML, da der er flere voksende rammer og biblioteker.

Nødvendige egenskaber ved kedelplade til store projekter (produktionsklar)

  • God og læsbar dokumentation?
  • Kodestruktur med et dybere abstraktionsniveau
  • Følger korrekt kodningsstandard
  • Har CLI-værktøj (til hurtig prototyping og opsætning)
  • Skalerbar?
  • Nem testværktøj
  • Nødvendige API-moduler
  • Støtte til internationalisering og lokalisering?
  • Opdeling af kode
  • Server- og klientkode til opsætning
  • Korrekt navigations- og rutestruktur?

Efter alle disse minimumspecifikationer skal du begynde at redigere og ændre koden for at opbygge dit projekt.

Der er nogle Big Tech-virksomheder, der endda bygger deres egen kedelplade. De bruger det til respektive og lignende projekter gennem tiden.

Et perfekt eksempel på dette ville være react.js's kedelplade:

reager kedelplade / reakt kedelplade

react-boilerplate -: fire: Et meget skalerbart, offline-første fundament med den bedste udvikleroplevelse og et fokus ... github.com

Kedelplade til mindre projekter (Stillads)

Denne type kedelplader er generelt slags "Starter Kits" eller på professionel måde kaldes det "Stillads". Deres vigtigste målbrugere er uerfarne udviklere eller nye early adopters.

Det fokuserer på hurtig prototyping ved at skabe de elementer, der kun er nødvendige for nye projekter. Disse kræver mindre funktionalitet og er ikke skalerbare over tid og projekt.

Deres kodestruktur udvides ikke meget og involverer ikke dybere abstraktionslag, da brugerne kun har brug for at opbygge kernefunktioner. Dette eliminerer behovet for ekstra hjælpeprogrammer.

Det enkleste eksempel er Facebooks oprette-reager-app-kedelplade:

facebookincubator / create-react-app

create-react-app - Opret React-apps uden build-konfiguration. github.com

Hvad er forskellen mellem en kedelplade og en skabelon?

Som Joachim Pense tydeligt siger, er kedelplade noget, du kopierer og indsætter og bare tilføjer til et dokument. Det kommer oftest op i kontrakter, hvor sprog bruges og genbruges, stave ting som forhold og forbehold.

Forfattere bruger skabeloner som modeller , nogle gange med negative effekter. I store træk er en skabelon en model eller et mønster, der bruges til at oprette nye objekter. Skriftligt er det en standardiseret form for noget som et CV, som forfattere kan bruge til at uddybe deres egne versioner.

I modsætning til kedelplader er skabeloner tilpasset til en bestemt anvendelse. Problemet opstod for mig, da studerende brugte Word-skabeloner til deres CV, og de endte alle med at se ens ud.

Både skabeloner og kedelplader kan gøre forretningsskrivning stilet og kunstig, hvis de bruges uklogt.

Style Guide til skrivning af kode

Uanset om du bruger kedelplade eller ej, er der nogle standarder efterfulgt af virksomheder til at skrive kode. En af dem er Style Guide. Det forsøger at forklare de grundlæggende stilarter og mønstre, der bruges i forskellige virksomheder eller organisationer. Det er generelt en regel, at medarbejdere skal vedtage kodningsstilguiden for deres virksomhed.

Style Guide beskriver masser af regler til skrivning af kode, som indrykning af faner og mellemrum, navngivning af variabler og funktioner, skrivning af nødvendige kommentarer, formatering, kildefilstrukturer, anvendelse af den korrekte metode til datastrukturer, undgå hejsning, scoping, kontroludtalelser og en meget mere.

Programmeringsstile beskæftiger sig normalt med det visuelle udseende af kildekoden med det formål at læse. Software har længe været tilgængelig, der automatisk formaterer kildekoden, hvilket lader kodere koncentrere sig om navngivning, logik og højere teknikker.

Som et praktisk punkt sparer tid at bruge en computer til at formatere kildekoden, og det er muligt derefter at håndhæve standarder for hele virksomheden uden debatter. (Kilde - Wiki).

Dette er nogle almindelige debatter som: Tabs v Spaces Holy war , valg af den perfekte Code IDE osv. Det interessante er, at du kan blive involveret i disse debatter, som for det meste sker på Reddit . Du kan også deltage i nogle af stackoverflow- spørgsmålene.

For webudviklere er den mest almindelige stilvejledning til JS Airbnbs guide til javascript-stil. Det er open source, og alle kan bidrage.

airbnb / javascript

javascript - JavaScript Style Guide github.com

Hvis nogen er i tvivl om, hvorfor Javascript har brug for en stilvejledning, så læs dette udgivers andet svar af Harrison Shoff, der er programmør hos Airbnb .

Hvorfor har JavaScript brug for en stilvejledning? · Udgave # 102 · airbnb / javascript

En af mine yndlingsdele om JavaScript-fællesskabet er, at folk vælger at skrive det på så mange forskellige måder ... github.com

Her er nogle stilguider til nogle af nutidens mere populære sprog:

DotNet-kodeformatering

Java: Google-Java-format

Javascript Standard Style (forskellig fra airbnbs javascript)

PHP kodningsstandarder Fixe r

Python: Googles YAPF

Ruby: Rubocop

Mere fra Boilerplate: Koncept til OOP

I objektorienterede programmer forsynes klasser ofte med metoder til at hente og indstille instansvariabler. Definitionerne af disse metoder kan ofte betragtes som kedelplade.

Selvom koden vil variere fra en klasse til en anden, er den tilstrækkelig stereotype i strukturen til, at den automatisk genereres bedre end skrevet i hånden.

For eksempel i den følgende Java-klasse, der repræsenterer et kæledyr, er næsten al koden kedelplade undtagen erklæringerne om kæledyr , navn og ejer :

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; }}

Kedelpladens definition bliver mere global i mange andre programmeringssprog i dag. Det kommer fra OOP og hybridsprog, der engang var proceduremæssige, men er blevet OOP. De har nu det samme mål at gentage den kode, du bygger med en model / skabelon / klasse / objekt, så de vedtager dette udtryk. Du laver en skabelon, og de eneste ting, du gør for hver forekomst af en skabelon, er de individuelle parametre.

Denne del er det, vi kalder kedelplade. Du genbruger simpelthen den kode, du lavede en skabelon til, men med forskellige parametre.

Kedelplade som API

Da du simpelthen genbruger skabelonkoden med forskellige parametre, betyder det, at vi kunne opbygge genanvendelige API'er, der kun har brug for en ændring af input og output.

Konklusion

"Boilerplate code" er enhver tilsyneladende gentagen kode, der dukker op igen og igen for at få et resultat, der ser ud til at det burde være meget enklere.

Jeg skrev denne artikel, fordi jeg for nylig blev instrueret af en teamleder om at lære om de mange varianter af kogeplade, der muligvis passer til vores projekt. Så jeg var nødt til at søge efter den perfekte kogeplade.

Enhver form for feedback vil blive værdsat! Hustle On!