관리 메뉴

흰둥씨의 개발장

[함수형 코딩#1~#6] 느낀점 본문

함수형 프로그래밍/쏙쏙 들어오는 함수형 코딩

[함수형 코딩#1~#6] 느낀점

돈워리비해삐 2023. 7. 2. 03:21

클린코드란 무엇인지에 대해 생각하게 됨

⇒ 결국 말하고자 하는 바가 프로그램의 재사용성 높이고,

⇒ 테스트단계에서 에러를 잡아내기 용이하도록,

⇒ 가독성이 좋은 코드로 유지 보수에 용이하도록,

⇒ 성능향상도 생각해보기 등… 하는 것의 일환 아닌가!

  1. 비즈니스 요구사항과 동작 코드를 분리하는 것 (추상화)
  2. 액션, 계산, 데이터로 나누어 생각하는 것 (가독성측면?)
  3. 액션보다는 계산을 주로 사용하기(암묵적 입 출력을 명시적 입 출력으로 바꿔서 / 테스트 용이하도록)
  4. 하나의 함수가 하나의 일을 수행하도록 설계하기(단일책임)
  5. 원본 데이터 보존하고, 변경 사항은 복사본 만들어 리턴 하기 (카피 온 라이트, 원본데이터를 계속 변경하면 결합도가 높아짐...)
  6. 전역변수 가급적 사용하지 말 것 (모듈화, 독립성 높이는 것)

⇒ 응집도는 높이고, 결합도를 낮추는 것

⇒ 추상화 (상위에서는 전체적 맥락, 하위로 갈수록 세부구현으로)

⇒ 단일 책임

얕은 복사 vs 깊은 복사

객체 복사 & 스프레드 연산자로 복사