God kode vs dårlig kode: hvorfor skriver god kode betyder noget, og hvordan man gør det

Når du skriver kode på ethvert sprog, er der god kodningspraksis - og der er virkelig dårlige.

Begge kan være korrekte, hvad angår kompilering, og når de kører. Men dårlig kode kan byde på nogle problemer i udvikling, debugging og modificering. Uanset hvor godt dit program kører, vil nogen være nødt til at læse og / eller ændre din kode på et tidspunkt.

De er muligvis nødt til at tilføje nye funktioner, rette en sjælden fejl, eller de vil måske bare gerne læse den for at forstå, hvordan det fungerer. Tilsvarende bliver du nødt til at læse en andens kode for at gøre det samme. Alle vil klare sig meget bedre, hvis koden er læselig og forståelig.

Lad os prøve at forstå, hvad en dårlig kvalitet af koden kan føre til for at kende betydningen af ​​kode af god kvalitet. Dårligt skrevet kode kan føre til økonomiske tab eller spild af tid, der kræves til yderligere vedligeholdelse, forbedringer eller justeringer af en software.

Du skriver din kode én gang, men følger den derefter adskillige gange efter. Derfor bliver dokumentation af din kode virkelig vigtig, og navngivningskonventioner bliver virkelig vigtige.

Mange gange støder jeg på mine kolleger og tuller med, hvordan de ikke kan huske, hvilken kode eller logik de skrev for et par dage siden. Parret det nu med at skrive dårlig kodestil, og du vil tage mere tid på at forstå, hvad du gjorde. Ting begynder at blive høst, når en kunstner ikke kan forstå deres eget kunst piece

Nøglepunkter, du skal huske på, mens du skriver kode

// Kommentarer til redning

De fleste moderne sprog har deklarerende dokumenterede kommentarer, og deres anvendelse sammen med kommentarer på flere og flere linjer gør koden mere forståelig - og dermed vedligeholdelig.

Gode ​​kodekommentarer forklarer, hvorfor tingene gøres, ikke hvad der gøres. Selve koden forklarer, hvad der er gjort. Behovet for kommentarer bør være minimalt.

Indrykning

God kode er korrekt struktureret som vist på figuren. Det skal være indlysende for den person, der prøver at forstå kode, hvor en kodeblok starter, og hvor den slutter, så det at følge logikken i kodebasen bliver synlig og ligetil.

Indrykning: Regelmæssig norm 4-indrykket

Vigtigt er

Det er irriterende, når du har et projekts kodebase foran dig, men installation og første udførelse tager timer at få dig til at rulle. Det er her readme er praktisk.

Det er altid bedre at have en kort introduktion til et projekt, før du får adgang til koden, og en korrekt struktureret Readme gør netop det. En korrekt struktureret Readme ligner nedenstående:

Navnekonventioner

Mange gange støder vi på en klasse ved navn Apimanager, men når vi ser på navnet, er formålet med klassen ikke klart.

I henhold til bedste normer for kodningspraksis, bør vores klasser følge et enkelt ansvarsprincip (SRP). Korrekte navnekonventioner kombineret med SRP gør vores liv meget lettere, mens vi prøver at følge et projekt.

Navnekonventioner bør også variere for forskellige anvendelsesområder, hvis en klasse udfører en intensiv arbejdsenhed. Dette for at skelne mellem hvornår og hvor en variabel bliver uden for rækkevidde ved blot at se på kodeblokken.

Brug meningsfulde navnekonventioner til alle undtagen de mest forbigående objekter. Navnet på noget er informativt om, hvornår og hvordan man bruger objektet.

Undgå magiske tal

Hvad er et magisk nummer? Det er en konstant, fuldstændig udokumenteret, der skal være en særlig værdi for, at programmet fungerer korrekt. Ingen ved, hvorfor dette nummer blev valgt.

På det mest magiske er det ingen, der virkelig ved, hvordan antallet påvirker programmet… bortset fra at ændre det bryder ting.

Magiske tal er onde og bør afskaffes ved syne.

Justering til tidsramme

Billedet herunder taler for sig selv.

Kodekvalitet til frister

Almindelig praksis for at skrive ren kode af god kvalitet

Meget brugte trin til at forbedre kodekvaliteten

At skrive kode af god kvalitet er en dynamisk proces. Nogle flere punkter at overveje, mens du prøver at skrive "god kode":

  • God kode er velorganiseret. Data og operationer i klasser passer sammen. Der er ikke udvendige afhængigheder mellem klasser. Det ligner ikke “spaghetti”.
  • God kode er godt testet. Tests fungerer som en eksekverbar specifikation af koden og eksempler på dens anvendelse.
  • God kode er ikke "klog". Det gør tingene på lige, åbenlyse måder.
  • God kode er udviklet i små, letlæselige beregningsenheder. Disse enheder genbruges i hele koden.

Tak, fordi du læste, del det venligst, hvis du fandt det nyttigt :)