> 웹 프론트엔드 > JS 튜토리얼 > 코드 냄새 - 비명령형 함수 이름

코드 냄새 - 비명령형 함수 이름

DDD
풀어 주다: 2025-01-10 09:49:41
원래의
776명이 탐색했습니다.

필수!!

TL;DR: 이름이 불분명한 함수는 의도를 숨기고 독자를 혼란스럽게 합니다. 설명적이고 행동 중심적인 이름을 사용하세요.

문제

  • 불분명한 기능 목적
  • 인지 부하 증가
  • 오해의 소지가 있는 문맥
  • 가독성 감소
  • 어려운 협업
  • 숨겨진 기능

솔루션

  1. 행동 지향 동사를 사용하세요
  2. 설명이 가능한 이름을 만드세요
  3. 기능의 목적을 반영
  4. 일반적인 용어는 피하세요
  5. 의미 있는 맥락 제공
  6. 단일 책임을 명확하게 표현
  7. 결과에 따라 행동 연결

리팩토링

Code Smell  - Non-Imperative Functions Names

005 리팩토링 - 주석을 함수 이름으로 바꾸기

맥시 콘티에리 ・ 2022년 6월 7일

#자바스크립트 #초보자 #리팩토링 #프로그램 작성

문맥

일반적인 용어로 명명된 기능은 독자가 자신의 동작을 이해하기 위해 구현을 자세히 살펴보게 만듭니다.

이렇게 하면 시간이 낭비되고 오류가 발생할 가능성이 높아집니다.

클래스 이름이 추가 컨텍스트를 제공하지 않는 독립 실행형 함수로 작업할 때 이름 지정이 더욱 중요해집니다.

이번 문제는 말하고 묻지 말라의 원칙과 직접적인 관련이 있습니다.

호출자가 기능을 추론하도록 하는 모호한 동작을 노출하는 대신 명령형 이름은 정확한 동작을 전달하여 코드를 검사할 필요 없이 독자에게 안내합니다.

함수 이름을 설명적으로 지정하면 불필요한 추측을 없애고 이 원칙에 부합하게 됩니다.

샘플 코드

잘못된

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...");
}
로그인 후 복사

발각

[X] 매뉴얼

do, run, process, load 등과 같이 모호한 용어를 사용하는 함수 이름을 검토하면 이 냄새를 감지할 수 있습니다. .

자동화된 린터는 이러한 패턴을 표시하거나 지나치게 일반적인 이름을 가진 기능을 강조할 수 있습니다.

태그

  • 네이밍

수준

[X] 초급

전단사가 중요한 이유

함수 이름은 이름과 기능이 일대일로 명확하게 일치해야 합니다.

이러한 편견을 깨면 개발자는 컨텍스트에 대한 코드 세부 정보를 조사해야 하므로 디버깅, 검토 및 확장 속도가 느려집니다.

AI 세대

AI 도구는 도메인을 이해하지 못한 채 일반 함수 이름을 생성하는 경우가 있습니다.

AI를 사용할 때 함수 이름은 설명적이고 행동 지향적이어야 함을 지정하세요.

AI 탐지

AI 모델은 함수 서명을 사전 정의된 명명 모범 사례와 비교하여 모호한 이름을 감지하는 데 도움을 줄 수 있습니다.

AI와 수동 코드 검토를 결합하면 최상의 결과를 얻을 수 있습니다.

시도해 보세요!

기억하세요: AI 도우미는 실수를 많이 합니다

Without Proper Instructions With Specific Instructions
ChatGPT ChatGPT
Claude Claude
Perplexity Perplexity
Copilot Copilot
Gemini Gemini

결론

함수 이름은 단순한 라벨이 아닙니다. 그것은 독자와의 계약입니다.

모호한 이름은 본 계약을 위반하고 혼란을 야기합니다.

설명적이고 동작 지향적인 이름은 의사소통을 단순화하고 코드 유지 관리 및 확장을 더 쉽게 만듭니다.

처지

Code Smell  - Non-Imperative Functions Names

코드 냄새 33 - 약어

맥시 콘티에리 ・ 2020년 11월 24일

#앗 #코드뉴비 #프로그램 작성 #지도 시간
Code Smell  - Non-Imperative Functions Names

코드 스멜 153 - 이름이 너무 깁니다

맥시 콘티에리 ・ 2022년 7월 29일

#자바스크립트 #웹개발 #초보자 #프로그램 작성
Code Smell  - Non-Imperative Functions Names

코드 냄새 38 - 추상 이름

맥시 콘티에리 ・ 2020년 11월 30일

#앗 #코드뉴비 #네이밍 #웹개발
Code Smell  - Non-Imperative Functions Names

코드 냄새 174 - 속성의 클래스 이름

맥시 콘티에리 ・ 2022년 10월 29일

#자바스크립트 #웹개발 #초보자 #프로그램 작성

또한보십시오

Code Smell  - Non-Imperative Functions Names

이름이란 정확히 무엇인가요? — 1부: 퀘스트

맥시 콘티에리 ・ 2021년 2월 9일

#코드뉴비 #지도 시간 #웹개발 #앗
Code Smell  - Non-Imperative Functions Names

이름이 정확히 무엇인가요 - 2부 재활

맥시 콘티에리 ・ 2021년 5월 23일

#지도 시간 #코드뉴비 #프로그램 작성 #웹개발

부인 성명

코드 냄새는 제 생각입니다.

크레딧

사진: britishlibrary, Unsplash


함수 이름은 동사 또는 동사구여야 하며
의미있는

로버트 C. 마틴

Code Smell  - Non-Imperative Functions Names

소프트웨어 엔지니어링 명언

맥시 콘티에리 ・ 2020년 12월 28일

#코드뉴비 #프로그램 작성 #인용 부호 #소프트웨어

이 글은 CodeSmell 시리즈의 일부입니다.

Code Smell  - Non-Imperative Functions Names

코드에서 이상한 부분을 찾는 방법

맥시 콘티에리 ・ 2021년 5월 21일

#코드뉴비 #지도 시간 #코드품질 #초보자

위 내용은 코드 냄새 - 비명령형 함수 이름의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿