개발자 99% 커뮤니티에서 수다 떨어요!
한 가지만 해라
인수를 적절하게 활용하여 단순하고 명료하게 이해될 수 있어야 한다.
수정하고 고민하는 것이 필요하다. 단 한번에 깨끗한 코드를 구현하는 건 불가능하다.
2024.02.30
~ 3장. 함수
단순 명료하게 전달할 수 있는 함수를 위해 들여쓰기 수준을 1단이나 2단을 넘어서지 않아야 한다. 아직 리팩터리 경험이 없기에 이전에 경험했던 코드들은 생각의 흐름대로 계단식으로 if, else문 남발... 어떻게 고민해야 하고 어떻게 수정해야 하는지 많은 노력이 필요할 것 같다.
"단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다먄 그ㅡ 함수는 여러작업을 하는 셈이다." 함수 당 추상화 수준은 하나로! 깨어진 창문처럼 함수에 세부사항을 점점 추가하는 일이 없어야 한다.
코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다." 이름이 짧고 어려운 이름보다 좋다.
더 좋은 글을 위해 수정하고 고민하는 것들이 코드 내에서도 이루어져야 한다. 처음부터 탁 깨끗한 코드를 짜내지 않는다. 그게 가능한 사람은 없으리라.
애초에 함수를 짜는 것도 힘이 들었다. 그래서 기능이 테스트가 되었다면 그저 끝. 이전에 코딩들은 그러했다. 리팩터리를 하지 않았고 중복된 코드라도 그저 작성해 나갔다. 깨끗한 코드를 지향하며 내가 했던 것들은 그저 서랍에 다 박아버리는 것과 별반 차이가 없었다.
"딱 보면 모르겠어?"
적절한 인수를 활용하는 것은 이해가 조금 어려웠다. 복잡한 기능을 구현하는 함수를 작성해 본 기억이... 저 멀리 있어 공감하기 어려웠다. 다른 클린코드 강의를 찾게 되어 Js에서 활용하는 방식으로 이 책과 함께 가보려 한다.