[code soom] 리액트 15기 - 2주차 주간 회고

Daniel Woo·2022년 12월 18일
0

회고

목록 보기
4/5
post-thumbnail

2주차의 메인 테마는 관심사의 분리였다. 좋은 코드를 위해서 고민하지 않을 수 없는 개발 철학이다. 나 역시 업무를 하면서도 항상 고민이 되는 부분이었기 때문에 과제를 구현하면서는 혼자 고민하는 것 외에도 이런 고민을 이미 거쳐온 기존 선배들의 방식을 참고할 수 있도록 노력하였다.

Keep

  • 학습하는 내용의 본질을 고민하였다.
    기본적으로 리액트의 관점에서 관심사 분리를 고민했다. 그 다음으로는 더 범위를 넓혀 알아보았다.
    관심사의 분리는 컴퓨터 프로그래밍에서 꽤나 일반적인 아키텍처 철학이라는 것을 알았다. 사람들은 좋은 관심사의 분리를 심플하게 다음과 같이 표현하였다.

    loose coupling, high cohesion

    즉, 낮은 결합도와 높은 응집력을 갖는 것이 관심사의 분리를 실현하기 위한 기본 원칙이다. 서로 밀접하게 연관된 것들은 그런 것들끼리 모아둘 수록 좋으며, 연관성이 낮은 것 끼리의 결합은 최소한으로 하는 것이다.
    이는 사람의 사고체계와도 연관이 있는 것 같다는 생각이 들었다. 사람은 혼돈 속에서 질서를 부여하려고 하는 특성이 있다. 개개인은 모두 기억할 수 없지만, 수백, 수천만명이 속한 집단인 국가는 기억하기 더 쉽고 상상하기도 쉽다. 이렇게 공통점이 있는 것들 끼리 모아 카테고리를 부여했기 때문에 넘쳐나는 대상의 집단 속에서도 단순화하여 생각할 수 있게 되었다.
    프로그래밍 역시 사람이 목적을 달성하기 위해 하는 것이기 때문에 사람의 사고체계로 형성되어있을 수 밖에 없을 것이다. 꼭 리액트가 아니더라도 우리가 프로그래밍을 하면서 관심사의 분리의 원칙을 염두해둔다면 더 생산적이고 협업하기 쉬운 코드를 짤 수 있을 것이라고 생각한다.

Problem

  • 과제 외 학습이 부족했다.
    과제를 마치고 비슷한 주제로 개인적인 기능을 구현하거나 하면 더 완벽하게 이해하고 기억에 남을 것 같다.

Try

  • 다음 주차에는 간단하게라도 새로운 기능을 구현하는 시도를 해보려고 한다.

참고자료
FEConf Korea - 우리는 응집도에 대하여 이야기할 필요가 있다

Separation of Concerns
Separation of Concerns in Software Design

profile
모두가행복한세상을만들고싶은사람

0개의 댓글