paint-brush
Kodi Smell 285 - Si të rregulloni funksionet jo-imperativenga@mcsee
290 lexime

Kodi Smell 285 - Si të rregulloni funksionet jo-imperative

nga Maximiliano Contieri
Maximiliano Contieri HackerNoon profile picture

Maximiliano Contieri

@mcsee

I’m a sr software engineer specialized in Clean Code, Design...

3 min read2025/01/11
Read on Terminal Reader
Read this story in a terminal
Print this story
tldt arrow
sq-flagSQ
Lexojeni këtë histori në shqip!
en-flagEN
Read this story in the original language, English!
bn-flagBN
এই গল্পটি বাংলায় পড়ুন!
es-flagES
Lee esta historia en Español!
ja-flagJA
この物語を日本語で読んでください!
sr-flagSR
Прочитајте ову причу на српском!
sw-flagSW
Soma hadithi hii kwa kiswahili!
ka-flagKA
წაიკითხეთ ეს ამბავი ქართულად!
kk-flagKK
Бұл оқиғаны қазақша оқыңыз!
hu-flagHU
Olvasd el ezt a történetet magyarul!
ms-flagMS
Baca cerita ini dalam bahasa Melayu!
af-flagAF
Lees hierdie storie in Afrikaans!
th-flagTH
อ่านเรื่องนี้เป็นภาษาไทย!
SQ

Shume gjate; Te lexosh

Funksionet me emra të paqartë fshehin qëllimin dhe ngatërrojnë lexuesit. Përdorni emra përshkrues, të orientuar drejt veprimit.
featured image - Kodi Smell 285 - Si të rregulloni funksionet jo-imperative
Maximiliano Contieri HackerNoon profile picture
Maximiliano Contieri

Maximiliano Contieri

@mcsee

I’m a sr software engineer specialized in Clean Code, Design and TDD Book "Clean Code Cookbook" 500+ articles written

0-item

STORY’S CREDIBILITY

Original Reporting

Original Reporting

This story contains new, firsthand information uncovered by the writer.

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.

Problemet

  • Qëllimi i paqartë i funksionit
  • Rritja e ngarkesës njohëse
  • Konteksti mashtrues
  • Lexueshmëri e reduktuar
  • Bashkëpunim i vështirë
  • Funksionaliteti i fshehur

Zgjidhjet

  1. Përdorni folje të orientuara drejt veprimit
  2. Bëjini emrat përshkrues
  3. Reflektoni qëllimin e funksionit
  4. Shmangni termat e përgjithshëm
  5. Jepni një kontekst kuptimplotë
  6. Shprehni qartë përgjegjësinë e vetme
  7. Përputhni veprimin me rezultatin

Rifaktorimet

https://hackernoon.com/improving-the-code-one-line-at-a-time

Konteksti

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.

Shembull i kodit

E gabuar

 public String dateFormatting(Date date) { return new SimpleDateFormat("yyyy-MM-dd").format(date); } public void load() { System.out.println("Loading..."); }

E drejta

 public String formatDate(Date date) { return new SimpleDateFormat("yyyy-MM-dd").format(date); } public void loadUserPreferences() { System.out.println("Loading user preferences..."); }

Zbulimi

  • [x] Manual

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.

Etiketat

  • Emërtimi

Niveli

  • [x] Fillestar

Pse Bijection është e rëndësishme

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.

Gjenerimi i AI

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.

Zbulimi i AI

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.

Provoni ato!

Mbani mend: Asistentët e AI bëjnë shumë gabime

Pa udhëzime të duhura

Me udhëzime specifike

ChatGPT

ChatGPT

Klodi

Klodi

Hutim

Hutim

Kopilot

Kopilot

Binjakët

Binjakët

konkluzioni

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.

Marrëdhëniet


article preview
HACKERNOON

How to Find The Stinky Parts of Your Code (Part VII) | HackerNoon

We see several symptoms and situations that make us doubt the quality of our development.


article preview
HACKERNOON

How to Find the Stinky Parts of Your Code [Part XXXI] | HackerNoon

Beginners are afraid to remove code. And many seniors too.


article preview
HACKERNOON

How to Find The Stinky Parts of Your Code (Part VIII) | HackerNoon

Yet more code smells? Plenty of!


article preview
HACKERNOON

How to Find the Stinky Parts of Your Code [Part XXXV] | HackerNoon

Most of these smells are just hints of something that might be wrong. Therefore, they are not required to be fixed per se… (You should look into it, though.)

Shihni gjithashtu


article preview
HACKERNOON

What Exactly Is A Name: The Quest [Part I] | HackerNoon

We all agree: a good name is always the most important thing. Let’s find them.


article preview
HACKERNOON

What Exactly Is A Name: Rehab [Part II] | HackerNoon

We all agree: a good name is always the most important thing. Let’s find them.

Mohim përgjegjësie

Kodi Smells janë mendimi im.

Kreditë

Foto nga britishlibraryUnsplash


Emri i funksionit duhet të jetë një folje ose një frazë foljeje dhe duhet të jetë kuptimplotë

Robert C. Martin


article preview
HACKERNOON

400+ Thought-Provoking Software Engineering Quotes | HackerNoon

The most complete curated collection of software and programming quotes


Ky artikull është pjesë e serisë CodeSmell.


article preview
HACKERNOON

How to Find the Stinky Parts of Your Code (Part I) | HackerNoon

The code smells bad. Let’s see how to change the aromas. In this series, we will see several symptoms and situations that make us doubt the quality of our developments. We will present possible solutions. Most of these smells are just hints of something that might be wrong. They are not rigid rules.


L O A D I N G
. . . comments & more!

About Author

Maximiliano Contieri HackerNoon profile picture
Maximiliano Contieri@mcsee
I’m a sr software engineer specialized in Clean Code, Design and TDD Book "Clean Code Cookbook" 500+ articles written

VARUR TAGS

KY ARTIKU U PARAQIT NË...

Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
X REMOVE AD