10 basisprogrammeerprincipes diegene alle programmeurs zullen willen volgen


Mits programmeur is ie jouw taak wegens code te schrijven diegene ja werkt plus den gewenste output levert. Den code moeten echter zowel gemakkelijk te vatten, te verzorgd plus uit te breiden zijn. Wegens dit uitdaging aan te gaan, moeten jij den belangrijkste concepten van programmeren samenvoegen met den principes van ja codering.

Te dit mededeling stukje ik mijn top 10 programmeerprincipes wegens u te promoten den methode waarop u code schrijft te verbeteren, waardoor ie leven gemakkelijker wordt voordat u, uw collega-ontwikkelaars plus uw eindgebruikers.

Waarom zijn programmeerprincipes vitaal?

Wegens enkele programmeerprincipes te leren plus dit ter uw code te gewoontes, wordt u ene betere ontwikkelaar. Wegens dit praktijken te volgen, wordt den algehele kwaliteit van den code verbeterd plus wordt ie voordat u of iemand verschillend gemakkelijker wegens ter den toekomst wijzigingen aan te brengen of functionaliteit toe te voegen.

programmeerprincipes

Afbeeldingsbron: Vrijgevig

Programmeerprincipes promoten u wegens problemen zoals rommelig of te complexe code, programma’s diegene breken met één bijstelling plus variabelen diegene nergens op slaan. Mits u zichzelf eraan houdt, kunt u zowel succesvoller samenwerken ingevolge ervoor te zorgen dat collega-programmeurs uw code kunnen vatten.

Of u nu ene basisprogramma of ene enterprise-grade applicatie maakt, ie is den moeite waard wegens vertrouwd te treffen met dit 10 principes.

Tien programmeerprincipes wegens te volgen:

1. KISS (Keep It Simple, Stupid!)

Uw code eenvoudig plus schoon liefhebben is ene van den belangrijkste programmeerprincipes. enterpriseSommige ontwikkelaars pronken graag ingevolge te lange of moderne code te schrijven, maar zowel reeds ziet ie er misschien snugger uit, den code is misschien noch bovenmatig manifest.

Jou moeten er immermeer zoals streven wegens jij code gemakkelijk te vatten te maken – indien jij ene script ter één wetmatigheid kunt schrijven, handelen dat dan! U kunt ene ingewikkeld probleem opsplitsen ter kleinere stukjes of onnodige code wegdoen. Ie mikpunt is wegens den complexiteit te verminderen plus problemen op te lossen, noch wegens indruk te maken op mensen.

Ie gewoonte van duidelijke namen van variabelen is ene andere methode wegens ie simpel te liefhebben. Vergeet noch wegens te profiteren van codeerbibliotheken plus bestaande tools.

2. Herhaal jezelf noch (DROOG)

Programmeurs liefhebben van ene example, weliswaar? Dit is eenvoudig te onthouden – hij vertelt jij den code noch te nazeggen. Repetitie is ene veelgemaakte vergissing, want indien u gegevens, logica of functies dupliceert, wordt uw code lang plus kost ie meer tijdstip wegens dit te verzorgd, te debuggen of aan te voetstappen.

Jezelf nazeggen omvatten zowel ie kopiëren plus plakken van code binnenshuis jij programma. Te positie van regels te dupliceren, is ie huis wegens ene ​​algoritme te vinden dat ter positie daarvan ene lus tweedehands, aldaar ie veel gemakkelijker is wegens één lus te debuggen diegene 20 herhalingen afhandelt dan 20 codeblokken diegene elk één repetitie afhandelen.

Ie tegenovergestelde van ie DRY-principe is WET (natuurlijk), watten staat voordat Write Everything Twice of Waste Everyone’s Time. Geen van beide is ene ja idee.

droge versus natte code

Afbeeldingsbron: TechTarget

3. Jou hebt ie noch nodig (YAGNI)

Tijdens ene vergelijkbaar thema zullen jij geen code willen schrijven zuiver omdat jij ie ter den toekomst nodig zullen kunnen hebben. Met andere woorden, ie YAGNI-principe vertelt jij wegens inclusief code te schrijven voordat den huidige situatie ter positie van te trachten ene probleem op te lossen dat noch bestaat.

Functies plus functionaliteit mogen inclusief wordt toegevoegd wanneer dat nodig is. Verschillend wordt uw software of programma groter plus complexer dan nodig is. YAGNI komt voort uit den softwareontwikkelingsmethodologie van Extreme Programming (XP), waarbij alles draait wegens ie verminderen van inefficiëntie.

Programmeurs schenden somwijlen dit principe terwijl zij trachten zichzelf te liefhebben aan DRY-codeerpraktijken, dus vasthouden beide ter overwegingen.

4. Documenteer uw code

Oké, dus jij hebt jij code pennen plus begrepen (opeenhoping ik!). Maar inclusief omdat ie voordat jou uiteraard is, wil nog noch zeggen dat ie voordat iemand verschillend manifest zou zijn. U kunt uw collega-ontwikkelaars promoten ingevolge het documenteren van uw code met commentaar plus ie verbeteren van den naamgeving van uw variabelen plus functies.

Mits u bijvoorbeeld ene call-routing-algoritme ontwerpt voordat gewoonte ter VoIP-callcenteroplossingen, kunt u opmerkingen nalaten wegens den verschillende functies uit te leggen plus zij begrijpelijker te maken voordat andere ontwikkelaars of testers.

Te alle programmeertalen kun jij commentaar toevoegen aan jij code, dus maak er ene gewoonte van wegens dit te doet. Ja, ie is watten reserve werkgelegenheid, maar ie is vitaal onder ie samenwerken met anderen. Plus indien jij overheen ene twee maanden terugkomt wegens den code te wijzigen, zul jij opgeruimd zijn dat jij ie gedaan hebt!

betere commentaren schrijven

Afbeeldingsbron: SheCanCode

5. Samenvoeging daarboven nalatenschap

Mits jij code hergebruikt diegene jij reeds hebt pennen, zijn er twee omgangsvormen wegens dit te doet: overerving plus wandeling. Den meeste programmeurs geven den voorliefde aan wandeling (hoewel erfelijkheid zo zijn voordelen heeft, dus negeer ie noch volledig).

Ie principe van wandeling daarboven overerving is vooral handig indien u objectgeoriënteerd programmeren of OOP tweedehands (dat werkelijk zijn inherent reeks principes heeft). Ie stelt dat objecten met ingewikkeld rijrichting instanties van objecten met individueel rijrichting willen bevatten – zij mogen geen stijl erven plus opzienbarend rijrichting toevoegen.

Met overerving wordt klassekaders snel onhanteerbaar, watten leidt totdat talloze schoolklassen diegene reeds dan noch aan uw behoeften volstaan. Klassehiërarchieën zijn moeilijk te wijzigen indien zij eenmalig zijn geïmplementeerd, omdat jij ene superklasse noch kunt wijzigen zonder ie risico te wandelen den subklasse van ene gebruiker te breken. Plus er is minder flexibiliteit voordat ie definiëren van rijrichting ter speciale gevallen.

Compositieprogrammering is schoner wegens te schrijven plus gemakkelijker te verzorgd, watten ene eenvoudigere, meer testbare codebase oplevert. Ie maakt flexibiliteitsbepalend rijrichting mogelijk – u kunt schoolklassen ontwerpen voordat eenvoudige toevoegingen of wijzigingen plus ie maken van componenten uitstellen totdat zij nodig zijn.

6. Open/Gesloten

Mits u ene bibliotheek of framework vrijgeeft diegene anderen zullen gewoontes, is Open/Closed ene vitaal principe. Ie betekent dat software-artefacten zoals schoolklassen plus modules openstaan ​​voordat vergroting, maar noch voordat wijziging. Dit maakt den code stabieler plus gemakkelijker te verzorgd.

Stel dat u wordt gevraagd wegens code te schrijven voordat den sjabloon voordat ene agentuurovereenkomst van ene softwarebedrijf voordat elektronische handtekeningen>. U geven ene raamwerkversie vrij diegene codeurs meteen kunnen wijzigen plus uw vrijgegeven code kunnen samenvoegen. Maar indien u straks ene volwassene update uitbrengt, zou den code breken. Ie is huis wegens code vrij te geven diegene vergroting aanmoedigt plus directe wijziging voorkomt, waardoor ie risico op ie voorslaan van nieuwe bugs wordt geminimaliseerd.

7. Eén verantwoordelijkheid

Dit principe stelt dat elke stijl of module ter ene programma slechts één specifieke functionaliteit toestemmen bieden plus dat er noch meer dan één reden toestemmen zijn voordat ene wijziging van ene stijl. Ie mikpunt is wegens te voorkomen dat neveneffecten of verantwoordelijkheden ter ene enkele trant of stijl wordt vermenigvuldigd.

enkele verantwoordelijkheid

Afbeeldingsbron: Medium

Schoolklassen wordt ingewikkelder indien jij te veel verantwoordelijkheden toevoegt, plus ie is moeilijker wegens reserve functionaliteit voordat ene specifieke module te creëren. Ie is huis wegens zij op te splitsen ter kleinere schoolklassen plus modules, waardoor ie gemakkelijker wordt wegens ene ​​bepalen module te isoleren voordat ie oplossen van problemen.

Single Responsibility plus Open/Closed maken beide stukje uit van den SOLID-principes diegene zijn opgesteld ingevolge Robert C Martin (den andere zijn Liskov Substitution, Interface Segregation plus Dependency Inversion).

8. SoC – Scheiding van zorgen

Dit programmeer principe is ene abstracte versie van ene enkele verantwoordelijkheid. SoC stelt dat ene programma moeten wordt ontworpen met verschillende containers, diegene geen toegang totdat jawel mogen hebben. Elk stuk code is volledig onafhankelijk.

Ie is ene methode wegens ene ​​gecompliceerde toepassing op te splitsen ter verschillende secties of domeinen, diegene elk ene specifiek werkgelegenheid doet of ene ander probleem beetgrijpen. Dit maakt ie gemakkelijker wegens den code te verzorgd, onder te werken, weer te gewoontes plus te debuggen.

Ene vertrouwd voorbeeld is ie model-view-controller (MVC)-ontwerp, dat nou wordt tweedehands ter populaire webframeworks. Ene programma is verdeeld ter trio verschillende secties – gegevens (proefje), logica (controller) plus watten den eindgebruiker ziet (view) – plus elke vakgroep wordt onafhankelijk behandeld.

9. Koppeling minimaliseren

Codekoppeling is wanneer twee modules of twee liggen ene zekere mate van onderlinge knechtschap hebben, zoals ie porties van ene code of ie hebben van toegang totdat dezelfde gegevens. Dit vermag problemen veroorzaken, waaronder code diegene moeilijk te volgen plus te verzorgd is.

Mits ene ontwikkelaar bijvoorbeeld zijn API-eindpunten koppelt aan ene specifieke weergave van ene frontend-applicatie, zoals ene telefoonsysteem met meerdere sturen, vermag ie eindpunt noch weer wordt tweedehands voordat ene andere weergave, zoals ene mobiele applicatie. (U vraagt ​​zichzelf misschien be: watten is ene telefoonsysteem met meerdere sturen>?)

Programmeurs willen vatten hoe ene code is gekoppeld wegens koppeling te minimaliseren, watten inhoudt dat zij den verantwoordelijkheden van elke verachtelijk willen vatten. Ene enkele verantwoordelijkheid vermindert zowel den koppeling tussen den afzonderlijke componenten van den software plus den code.

code koppeling

Afbeeldingsbron: Manning

10. Refactoren

Codebases zijn immermeer ter ontwikkeling, dus er zullen momenten zijn waarop u hele stukken code weer moeten bekijken, herschrijven of herontwerpen. Te positie van dit te zien indien ene mislukking van jij eerste poging, beschouw ie indien ene leermogelijkheid.

Refactoring code betekent ie herzien plus zoeken zoals omgangsvormen wegens ie te optimaliseren, waardoor ie efficiënter wordt terwijl den resultaten precies idem blijven. Voortijdige optimalisatie moeten u echter vermijding. Optimaliseer uw algoritme noch ter den vroege ontwikkelingsstadium, omdat u knelpunten noch kunt wichelen plus den vereisten kunnen veranderen.

Laatste overwegingen

Mits wij dit register zullen destilleren totdat één vitaal principe, zullen ie dit zijn: maak uw code gemakkelijk te vatten plus te verzorgd. Verschillende van den programmeerprincipes ter onze register hebben dit mikpunt voordat ogen, van KISS plus DRY totdat enkele verantwoordelijkheid plus ie documenteren van uw code.

Mits u dit principes volgt, kunt u eenvoudige code maken diegene doet watten hij moeten doet plus inzichtelijk is voordat anderen. Plus jij weet ie juiste uur wegens optimaliseren Ie. Ene laatste tip: blijf leren wegens te blijven verbeteren.