Wees noodsaaklik!!
TL;DR: Funksies met onduidelike name verberg bedoeling en verwar lesers. Gebruik beskrywende, aksie-georiënteerde name.
https://hackernoon.com/improving-the-code-one-line-at-a-time
Funksies wat met generiese terme genoem word, dwing lesers om in die implementering te duik om hul gedrag te verstaan.
Dit mors tyd en verhoog die kans op foute.
Naamgewing word selfs meer krities wanneer daar met selfstandige funksies gewerk word, waar die klasnaam nie addisionele konteks verskaf nie.
Hierdie kwessie hou direk verband met die Vertel, moenie vra-beginsel nie .
In plaas daarvan om dubbelsinnige gedrag aan die kaak te stel wat die oproeper dwing om funksionaliteit af te lei, dra imperatiewe name die presiese aksie oor en lei die leser sonder om die kode te inspekteer.
Wanneer jy funksies beskrywend benoem, skakel jy onnodige raaiwerk uit en pas jy by hierdie beginsel aan.
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..."); }
Jy kan hierdie reuk opspoor deur funksiename te hersien wat vae terme soos doen , hardloop , verwerk , laai , ens.
Outomatiese linters kan hierdie patrone vlag of funksies met té generiese name uitlig.
Funksiename moet 'n duidelike een-tot-een ooreenstemming tussen hul naam en funksionaliteit skep.
Deur hierdie Bijection te breek, dwing ontwikkelaars om kodebesonderhede vir konteks te ondersoek, wat ontfouting, resensies en uitbreidings vertraag.
KI-nutsgoed genereer soms generiese funksiename sonder om jou domein te verstaan.
Wanneer u KI gebruik, spesifiseer dat funksiename beskrywend en aksiegeoriënteerd moet wees.
KI-modelle kan help om dubbelsinnige name op te spoor deur funksie-handtekeninge te vergelyk met voorafbepaalde benaming-beste praktyke.
Die kombinasie van KI met handmatige kodehersiening lewer die beste resultate.
Onthou: KI-assistente maak baie foute
Sonder behoorlike instruksies | Met spesifieke instruksies |
---|---|
Funksiename is nie net byskrifte nie; dit is kontrakte met die leser.
Dubbelsinnige name verbreek hierdie kontrak en lei tot verwarring.
Beskrywende, aksie-georiënteerde name vereenvoudig kommunikasie en maak jou kode makliker om te onderhou en uit te brei.
Code Smells is my mening .
Foto deur britishlibrary op Unsplash
'n Funksienaam moet 'n werkwoord of 'n werkwoordfrase wees, en dit moet betekenisvol wees
Robert C. Martin
Hierdie artikel is deel van die CodeSmell-reeks.