Efter att ha läst “Clean Code” lärde jag mig detta

Namngivning

Välj beskrivande och entydiga namn

Namn bör beskriva vad som är gjort eller innehåller. En del av att vara tydlig är att inte låta någon annan tolkning av namnet och rikta läsaren till endast en möjlig slutsats.

Lägg märke till att exemplet nedan inte kräver någon kommentar eller förklaring av något slag. den är beskrivande och leder bara till en slutsats.

// BAD
let days;// elapsed time in days 
//CLEAN 
let daysSinceCreation;
let daysSinceUpdate;
let ageInDays;
let elapsedDays;

Gör meningsfulla skillnader

Det är viktigt att ha namn som skiljer sig åt i sammanhang och struktur. Av uppenbara skäl vill vi inte förväxla sammanhanget och innebörden av en variabel/funktion med den andra.

De får dock inte ha ett mycket liknande namn också.

// Not distincting context 
getActiveAccount();
getActiveAccountInfo();
getActiveAccountData();

I exemplet ovan är det inte säkert vad skillnaden är mellan konto, kontoinformation och kontodata. De säger i stort sett samma sak. Vad är data? Vad är informationen? Vad är konto om inte kontodata och hur är de olika? Så många frågor från dessa tvetydiga namn.

// Not disticnting structure
getActiveAccount()
getActiveAccounts()
getActivityAccount()
//With distinction 
getActiveAccount()
getManyActiveAccounts()
getAccountActivity()

Autofullständighetsfunktionen i alla kodredigerare bör också beaktas. Att ha mycket liknande namn är benäget för autosuggestionsfel, felaktig läsning och följaktligen – felaktiga funktioner kallas.

Använd sökbara namn

Medan vi namnger variabler i vår kod måste vi se till att de inte är kodade, för korta (1–2 bokstäver) och inte för vanliga – beroende på deras betydelse och omfattning.

I exemplet nedan är appen en kurshanterings plattform för studenter.

//Bad examples
const max=7;
const students=7;
//Clean example
const MAX_CLASSES_PER_STUDENT=7;

Jag tror inte att du kommer att ha några problem med att hitta den variabeln, medan max och studenter med stor sannolikhet är vanliga ord i den här appen

Inga magiska värden

Magiska värden är värden som “magiskt” visas i koden och ska förmedla någon mening, men ingen kan säga det eftersom de bara är siffror/strängar.

Undvik att stänka magiska värden i koden till varje pris. Se till att tilldela en variabel till dessa värden för tydlighet och enkel refaktorering.

//BAD 
if(val === 38) console.log('congratulations!')
//CLEAN
const JACKPOT=38;
if(val === JACKPOT) console.log('congratulations!')

Avslöja inte genomförandet

Hur vi implementerar kod skiljer sig från tid till annan och förändras helt och hållet. Att binda ett visst sätt att implementera är begränsande och kommer faktiskt att bli föråldrat när tiden går.

//BAD 
spliceProductFromArr()
let productArr=[]; 
//CLEAN 
removeProductById()
let products=[];

Akta dig för namngivnings konventioner

Om vi ​​utvecklar en app som främst är relaterad till bilar, vad blir vår namngivningskonvention? Bil? Fordon? Bil? Oavsett vad det är, se till att bilen är konsekvent.

Det valda namnet bör refereras till i funktionerna, variablerna, tjänsterna, klasserna – när det behövs. Ändå är synonymer väldigt förvirrande, så välj ett ord med ett ord och håll fast vid det.

Undvik mental kartläggning

Variabler som kräver att läsaren (och kodaren) kommer ihåg deras betydelse är i allmänhet dåliga variabelnamn. Det enda undantaget som jag tänker på är i och j som är iteratorer i en loop.

Förutom det bör namn återspegla verkligheten, vara konsekventa och beskrivande nog för att undvika mental kartläggning eller memorering av något slag.

Pages: 1 2 3 4 5


Posted

in

,

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *