Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1주차] Clean_Code_1-2장_최한솔 #7

Closed
chuseok opened this issue Jun 3, 2024 · 5 comments
Closed

[1주차] Clean_Code_1-2장_최한솔 #7

chuseok opened this issue Jun 3, 2024 · 5 comments

Comments

@chuseok
Copy link
Contributor

chuseok commented Jun 3, 2024

궁금한 점

  • 서로 흡사한 이름을 사용하지 않는다.
     XYControllerForEfficientHandlingOfStrings
     XYZControllerForEfficientHandlingOfStrings

어떻게 표현하는게 좋다고 생각하시나요?

  • 유사한 개념은 유사한 표기법을 사용한다.

에 대해서 이해하지 못했습니다. 관련 예시가 있을까요?

@find11570
Copy link
Contributor

  1. add1 : 배열에 값을 추가하는 기능, add2 : 입력받은 값의 합을 구하는 기능 // add1과 add2는 기능이 다른데 구분하기 힘들다.
  2. CustomerCreate(Customer 추가), AccountPlus(Account 추가), CompanyAdd(Company 추가) ==> X
    CustomerCreate, AccountCreate, CompanyCreate ... 추가라는 개념에 대해 Create 표기를 통일함

@kjy-asl
Copy link
Contributor

kjy-asl commented Jun 3, 2024

1번은 현수님께서 설명을 너무 잘 해주셨네요..

2번은 저도 잘 이해가 가지는 않습니다. 책에서는 예시로
XYZControllerForEfficientHandlingOfStrings
XYZControllerForEfficientStorageOfStrings
를 예시로 들었는데 보기엔 비슷하지만 다른 기능을 제공하겠죠 하지만 개념 자체는 유사하니 이름이 따라갈 수 밖에 없었던 것 같습니다. 이 경우를 어떻게 해결해야 하는지는 다른 분들 생각이 궁금하네요.

@lee-JunR
Copy link
Contributor

lee-JunR commented Jun 3, 2024

A1

     XYControllerForEfficientHandlingOfStrings
     XYZControllerForEfficientHandlingOfStrings
  1. 변수명을 보니 책과는 다르게 차이점이 XY 와 XYZ 밖에 없네요!
  2. 해당 변수명의 사용 용도를 보고 생각하겠지만 (제가 느끼기엔) 2D와 3D 문자열을 다루는 컨트롤러처럼 느껴집니다... 만약 그렇다면 2D, 3D 라는 접미사를 붙여서 적용할 듯 싶네요.
  3. (이렇게 말했지만 ChatGPT 를 활용해 변수명 추천을 받아 고를듯 합니다...ㅎㅎ)

A2

  1. 이름의 일관성을 지키라는 의미로 받아들였습니다. (지금보니 한 개념에 한 단어를 사용하라와 일맥상통하네요..)
  2. 개인적으로 getter 를 만들때 보통 ide의 기능으로 getter를 합니다.
  3. (만약) 이렇게 하지 않고 (항상) 똑같은 메서드를 클래스마다 fetch, retrieve 로 부르면 어떤 클래스에 어느 이름을 썼는지 혼란스러우니 이를 지양하라는 의미로 받아들였습니다 😁

@GaHee99
Copy link
Contributor

GaHee99 commented Jun 3, 2024

한솔님 안녕하세요.!
저는 만약에 1번같은 상황이 온다면 오히려 코드 리뷰를 통해 변수명 변경을 추천 드릴 것 같아요..
2번은 약간 저는 반대로 http메소드로 받아 들였습니다.
백앤드 입장에서는 create, post, new모두 같은 의미거든요.. 물론 전자 두개를
주로 사용하지만 그거에 대한 확실한 기준도 없는게 사실입니다:!

@cheongwonyoung
Copy link

  1. 비슷한 도메인 또는 기능적 구현으로 인해 흡사한 이름이 발생했다고 생각합니다. 예시 마지막에 'Strings'와 같이 모호하게 작성하지 않고 기능 및 도메인에 맞는 워딩을 끼워 넣을 것 같습니다.
  2. 현수님께서 들어주신 예시처럼 "어느 워딩이 의미하는 뜻에 대해서 통일성을 가지고 네이밍을 해라." 라고 이해했습니다 !

@GaHee99 GaHee99 closed this as completed Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants