Bëhu imperativ!!
TL;DR: Funksionet me emra të paqartë fshehin qëllimin dhe ngatërrojnë lexuesit. Përdorni emra përshkrues, të orientuar drejt veprimit.
https://hackernoon.com/improving-the-code-one-line-at-a-time
Funksionet e emërtuara me terma të përgjithshëm i detyrojnë lexuesit të zhyten në zbatim për të kuptuar sjelljen e tyre.
Kjo humbet kohë dhe rrit mundësinë e gabimeve.
Emërtimi bëhet edhe më kritik kur punoni me funksione të pavarura, ku emri i klasës nuk ofron kontekst shtesë.
Kjo çështje lidhet drejtpërdrejt me parimin " Thuaj, Mos pyet" .
Në vend që të ekspozojnë sjellje të paqarta që e detyrojnë telefonuesin të konkludojë funksionalitetin, emrat imperativ përcjellin veprimin e saktë, duke e udhëhequr lexuesin pa pasur nevojë të inspektojë kodin.
Kur emërtoni funksionet në mënyrë përshkruese, ju eliminoni supozimet e panevojshme dhe përputheni me këtë parim.
public String dateFormatting(Date date) { return new SimpleDateFormat("yyyy-MM-dd").format(date); } public void load() { System.out.println("Loading..."); }
public String formatDate(Date date) { return new SimpleDateFormat("yyyy-MM-dd").format(date); } public void loadUserPreferences() { System.out.println("Loading user preferences..."); }
Ju mund ta zbuloni këtë erë duke rishikuar emrat e funksioneve që përdorin terma të paqartë si do , ekzekutimi , procesi , ngarkimi , etj.
Linjat e automatizuara mund t'i shënjojnë këto modele ose të nënvizojnë funksionet me emra tepër të përgjithshëm.
Emrat e funksioneve duhet të krijojnë një korrespondencë të qartë një-për-një midis emrit dhe funksionalitetit të tyre.
Thyerja e këtij Bijection i detyron zhvilluesit të shqyrtojnë detajet e kodit për kontekstin, duke ngadalësuar korrigjimin, rishikimet dhe shtesat.
Mjetet e AI ndonjëherë gjenerojnë emra të përgjithshëm funksionesh pa e kuptuar domenin tuaj.
Kur përdorni AI, specifikoni që emrat e funksioneve duhet të jenë përshkrues dhe të orientuar drejt veprimit.
Modelet e AI mund të ndihmojnë në zbulimin e emrave të paqartë duke krahasuar nënshkrimet e funksioneve me praktikat më të mira të emërtimit të paracaktuara.
Kombinimi i AI me rishikimin manual të kodit jep rezultatet më të mira.
Mbani mend: Asistentët e AI bëjnë shumë gabime
Pa udhëzime të duhura | Me udhëzime specifike |
---|---|
Emrat e funksioneve nuk janë vetëm etiketa; janë kontrata me lexuesin.
Emrat e paqartë e thyejnë këtë kontratë dhe çojnë në konfuzion.
Emrat përshkrues dhe të orientuar drejt veprimit thjeshtojnë komunikimin dhe e bëjnë kodin tuaj më të lehtë për t'u ruajtur dhe zgjeruar.
Kodi Smells janë mendimi im.
Foto nga britishlibrary në Unsplash
Emri i funksionit duhet të jetë një folje ose një frazë foljeje dhe duhet të jetë kuptimplotë
Robert C. Martin
Ky artikull është pjesë e serisë CodeSmell.