관리 메뉴

흰둥씨의 개발장

[클린코드] 추상화는 어디까지 ? / 함수의 인자개수에 대한 생각 / 읽기좋은 코드란...? 본문

BoOk/클린코드

[클린코드] 추상화는 어디까지 ? / 함수의 인자개수에 대한 생각 / 읽기좋은 코드란...?

돈워리비해삐 2023. 11. 18. 02:03

추상화는 어디까지 하는게 좋은걸까 ? 

결국 그 범위, 어느정도까지라는 것은 개발자의 손에 남겨진 과제…
추상화의 범위는 협업시에 추상화한 부분에 대해서, 공유가 잘 되어야 함 
혼자 코드를 짜고 있다면 추상화수준이 같은 수준을 유지하고 있는지 확인하면서 진행하기


추상화를 할지 How to!?

'구현' 위주로 먼저 진행 해보는 것도 좋다고 생각한다.
'공통된 부분'을 뽑아내는 방식으로 진행하기 (김영한님 youtube 참조함)
프로젝트 리더가 추상화레벨, 추상화 적용될 로직에 대한 기준을 제시하면서 진행하거나 팀원들끼리 어떤 로직에 추상화를 어떤레벨로 적용해볼지 연구하면서 진행해보기


함수의 인자 개수는 0개인게 정말 이상적일까?
인자의 개수가 적을수록, 테스트시 유리하고, 유지보수에도 좋고, 가독성에도 좋기 때문에 적을수록 좋다. 

그러나, 책에서 말하는 것처럼 0개로 무조건! 이라는 것은 좀 무리일것같다.
적은 개수로 강제하는 것은 좋지 못하고, 
함수에게 필요한 정보는 받을 수 있도록 관리되는 것이 필요하다.

다만, 협업시 인자에 대해 명확한 정의가 공유되어야 한다.

커링도 생각해보면 함수의 인자를 줄여주는 방법 중 하나로,
함수형 프로그래밍에서는 확실히 인자를 작게 설계하는 것이 좋다고 여겨진다.

 

읽기좋은 코드란? 

- 늙은 주석은 버리고
- 의미있게 네이밍하기
- 서술적인 이름으로 무슨 일을 하는지 잘 드러낼 것 
- 함수의 인수는 최대한 적게
- 사용자 혹은 개발자가 당연하게 여길만한 동작과 기능제공
- 중복코드 금지령
- 추상화 수준 확인하기 
- 조건 캡슐화 하기
- 함수는 한가지 일만 하도록 
- 일관성있게, 코드 구조를 유지하라
- 논리코드와 오류 코드 섞지 말고, 비즈니스 로직에 집중할 수 있도록 (하조은님 뱅크샐러드강의 참조함)

'BoOk > 클린코드' 카테고리의 다른 글

[클린코드] 7장 오류처리  (0) 2024.02.06