HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
학습 TIL
/
📝
26일차 배운 것 정리 (1)
📝

26일차 배운 것 정리 (1)

대주제
모의면접
페어리뷰
작성완료
작성완료
전날 정리 노트 이동
다음 정리 노트 이동
주제
노션 클론
날짜
Apr 25, 2022

목차

목차1. 말하면서 배워요 스터디 6회차 진행2. 미해님 노션 프로젝트 페어 리뷰2-0. 리뷰 포인트2-1. 좋은 점2-2. 개선 점2-3 작성

1. 말하면서 배워요 스터디 6회차 진행

🌱
[6회차] 활동기록

2. 미해님 노션 프로젝트 페어 리뷰

2-0. 리뷰 포인트

지금은 문서 리스트를 누를 때마다 페이지가 깜빡거리면서 표시됩니다. Promise.All 등을 사용해서 최대한 줄어보고, 일부 리팩토링을 했으나 아직 깜빡임이 꽤 많은 것 같습니다. 어떤 식으로 개선하면 좋을지 또는 어떤 식으로 개선하셨는지 아이디어 만이라도 알고 싶습니다..!
document 기본 리스트를 원하는 값을 가진 리스트로 변경하는 함수 getModifiedDocumentList 를 구현할 때 재귀적으로 내부 documents를 들어가도록 구현했는데, 이런 방식으로 구현하는 것이 원래 맞는 방식인지 알고 싶습니다. 개발 시 재귀를 써도 성능면에서 문제가 없을까요..?
구현하면서 제가 구현한 방식이 맞는 방식인지 수많은 고민이 많이 들었습니다. 더 좋은 방식으로 구현할 수 있을 것 같은 함수/기능 이 있다면 알려주세요!
전체적으로 코드 길이가 긴데 가독성에 문제가 없었는지, 문제가 있었다면 어떤 식으로 개선하면 좋을지 알고 싶습니다!
함수명에 신경을 써보았는데, 함수명이 적절했는지 또는 더 나은 함수명이 있는지 알고 싶습니다.
new를 호출했는지 여부를 판단하는 예외처리만 해 두었는데, 실제 개발시에는 각 state마다 원하는 속성이 있는지 validation도 진행해야하는지 궁금합니다!

2-1. 좋은 점

문서화 능력
  • 기능 구현 설명이 너무 잘 되어 있어서, 코드 보기전에 어느정도 다 그려진 상태가 됨. 정말 중요하고 차별있는 능력,강점이라고 생각

2-2. 개선 점

코드가 긴 것 자체가 문제가 아니라, 해당 컴포넌트(or파일)에서 핵심 부분과 세부 부분을 찾기 어렵다는 것이 문제라고 생각합니다. 현재 코드를 작성하지 않은 사람이 보기에는 핵심/세부를 분간하기 어려워 읽는 것 자체에 많은 시간이 소요된다고 생각합니다. 저도 처음 작업 시 이러한 피드백을 많이 받았었는데, 시도할 수 있는 가장 첫 번째 방법은 세부 구현을 담당하는 util성 함수를 분리해주고, 역할이 분명한 컴포넌트들로 쪼개주는 것이라고 생각합니다.
컴포넌트의 마운트 시점이 불분명하여, 처리가 조금 까다로워지고 있다는 생각이 듭니다.
  • if(documentListsComponent) ...
  • render(현재 컴포넌트 렌더관련) mount(하위 컴포넌트 렌더 관련) 처리를 명시적으로 구분해주면, 가독성과 코드 개선에 도움이 될 것이라고 생각합니다.
  • 황준일님블로그 - 관련 상당히 많은 도움을 받았습니다. 다만 처음에 이해하는데 오랜 시간이 걸렸습니다.ㅠ.ㅠ

2-3 작성

💡
미해님 코드 잘 보았습니다 : ) 우선 PR에 올려주신 문서가 너무 잘 정리되어있어서, 코드를 보기 전에 이미 흐름이 머리속에 그려져 리뷰를 빠르게 진행할 수 있었습니다. 문서화능력은 정말 가지기 어려운 부분으로 미해님만의 강점이라고 생각합니다.
세부적인 로직은 제외하고, 크게 2가지 부분에 대해 말씀드리고 싶습니다. 첫번째는 컴포넌트(파일) 내부에서 "핵심부분과 세부부분의 구분"이 되어 있지 않다고 느꼈습니다. 코드가 긴 것 자체가 문제가 아니라, 코드를 작성하지 않는 사람이 볼 때에 핵심부분을 파악하기 힘들어, 모든 코드를 보아야하는 어려움이 있었습니다. 저도 처음 작업 시 이러한 피드백을 많이 받았었는데, 시도할 수 있는 가장 첫 번째 방법은 세부 구현을 담당하는 util성 함수를 분리해주고, 역할이 분명한 컴포넌트들로 쪼개주려고 한다면 눈에 띄는 가독성 증가를 맛보실 수 있습니다 : )
두번째는