소프트웨어 디자인이 분재 나무를 키우는 것과 같다는 비유...

Dong Wook Lee (Michael)·2021년 2월 14일
0

프로그래머를 위한 파이썬이라는 책을 읽다가 소프트웨어 개발과정이 분재 나무를 키우는 것과 매우 흡사하다는 표현을 보았다.

나무를 키우는 것은 나무가 자라도록 시간을 주어야하고, 그런 다음에 나무가 어디로 자라야 하는지 안내하고 그 쪽으로 크도록 격려해야한다. 나무를 너무 자주 자르면 스트레스를 받게 되며, 부자연스러운 형태를 강요하면, 성장에 방해가 될 수 있다.

특히 내가 공감을 하는 부분은, 나무를 너무 자주 자르면 스트레스를 받게 된다는 부분이다.
이는 설계를 할 때 너무 빨리해서도 안되고 너무 늦게 해서도 안된다. 이 타이밍을 잘 알고 적절한 조치를 취하는 것이 고수가 되는 길이라고 생각을 한다.

그 밖에 더 유용한 글을 읽을 수 있었다.

단일 책임

  • 클래스, 메서드, 함수는 하나의 일만 해야한다.
  • 만약 두 작업을 수행하는 함수나, 두 가지 별개의 영역을 포함하는 함수를 발견한다면 이것은 분리를 해야하는 강력한 신호다.

코드의 복잡도

  • 주어진 함수나 메서드가 10 이하의 복잡도를 갖게 하는 것을 권장한다.

클래스 분리

  • 클래스의 여러 메서드가 공통 접두사 또는 접미사를 공유하거나, 특히, 클래스의 이름과 일치하지 않는 메서드를 공유한다면 새로운 클래스로 추출해야 하는 순간일 수 있다.
profile
오픈소스 메인테이너를 꿈꾸는 개발자!

0개의 댓글