[우테코 Level 1] 레벨1 회고

별의개발자커비·2024년 4월 15일
0

우테코 6기

목록 보기
6/22

드디어 레벨1이 끝났다.

코드를 바라보는 시선이 달라진 것도 크지만,
과연 변화가 있을까? 싶었던 마인드셋이 달라진 것이 더욱 크게 느껴졌다.

레벨1에서의 나는 어떤 변화가 있었을까?

힘은 빼고 더 넘어지기 마인드셋

레벨1의 나의 유연성 강화 일지를 보면 거의 비슷하다.
'욕심이 안버려지는데, 비교가 안멈춰지는데 어떡하죠?'

하지만 그 꽉잡고 있던 것들이 어느순간 탁 풀려지게 되었다.
그 과정은 레벨1 글쓰기 미션글로 첨부하고자 한다!

자전거를 배울 때 두렵다가도 막상 넘어지면 그 후에는 어떻게 넘어지는지 알게되는 것처럼,
그냥 한 번 넘어져 보니까 이제는 조금 알겠달까.
넘어져도 세상이 끝나지 않는다는 것도,
넘어졌을 때 바닥에 잠시 엎어져 있어도 된다는 것도.

그래서 이제는 넘어지지 않으려 애쓰며 걷지 않는다.
애쓰지 않으니 앞으로는 이전보다 아마 훨씬 더 넘어지겠지만 그래도 괜찮다.
이젠 넘어지지 않는 것 말고, 넘어지고 구르면서도 계속 걷는게 목표니까!

레벨1 글쓰기 링크
https://github.com/skylar1220/woowa-writing/blob/level1/Level1.md

기술은 필요하면 그 때 적용하기

YAGNI(You Ain't Gonna Need it)
미리 예단해서 코드를 짜지 마라.

KISS(Keep it simple, stupid)
말 그대로 필요한 기술만 적용해서 단순하고 바보같이 짠다.

코드가 복잡하다. 또는 중복이 생긴다.
이 문제를 해결하기 위해 어떤 방법을 적용하면 좋을까?
아하 이 기법을 적용하면 해결되겠구나!

이 흐름으로 나와야한다.
다른 크루들이 쓴다니까 나도 상태 패턴 적용해볼까? 이런 건 적용 시점이 아니다!

기술을 적용할 수록 복잡도는 올라간다.
내가 짜보고 꼭 기술을 적용해야하는 필요성을 느끼고 나서 분리한다면 그 복잡도를 감수할 수 있다. 하지만 그렇지 않은 경우는 복잡도만 올라가는 상황이 생기는 것이다.

우리 조 백호의 말을 빌려서 정리해볼 수 있을 것 같다!
해결하고자 하는 명확한 목적 없이 기술을 적용하는 것은 아무 의미가 없다

모든 것은 트레이드 오프, 튼튼한 내 기준이 짱

크루들, 리뷰어와 이야기를 나누다보면 결국 하나의 결론에 도착한다.
모든 것은 트레이드 오프
하지만 이 말이 아무렇게나 쓰이면 안된다. 뒷받침이 하나 있다.

그것을 뒷받침하는 튼튼한 나만의 근거가 있어야한다는 것!
더불어 이 기준은 여러 상황에서 비슷해야한다. 일관성이 있어야한다는 것.
예를 들어, 도메인, view의 의존을 어느정도 남겨두더라도 좀 더 간단한 구조와 가독성을 우선시한다면,
간단한 구조와 가독성이라는 기준을 적용해서 코드의 다른 부분도 작성해야한다는 것이다.
그래야 읽는 사람이 혼란스러워하지 않으면서 읽을 수 있다.

내가 어느 기준을 중요시하는 사람인지를 잡아가는 레벨1이었다.
지금까지 나의 기준의 우선순위는 아래와 같다.

  1. 술술 잘 읽히는 코드: 최소한의 간단한 구조, 클래스.메서드 시그니처로 흐름이 다 파악되는
  2. 유지보수하기 쉬운 코드: 수정 포인트가 몇 군데일까
  3. 객체의 책임이 잘 분리되어서, 어떤 기능이 추가되거나 변경되었을 때 어디를 건드려야하는지 잘 보이고, 건들 곳이 적은 코드

앞으로 이 기준들이 어떻게 정교화되고 또 어떤 것들이 더 추가될지 기대된다!

레벨 2 목표

  1. 내 코드 자존감 높여서 계속 재밌어하기: 다른 사람 코드 단점찾기, 내 코드 장점 찾기
  2. 여러 시도해보고 결과는 가볍게 받아들이기
    (예: 과하게 추상화해보고 망해도 무너지지 말고 가볍게 싹 밀고 다시하기 등)
  3. 아침 월화금 필라테스, 일 헬스 계속 유지하기
  4. 집 가서 유튜브 30분 이상 보지 말고 바로 자기
  5. 아침 수목토일 알고리즘 1시간 풀기

1개의 댓글

comment-user-thumbnail
2024년 4월 15일

목표가 엄청 빡세네요... 역시 커비는 대단해!

답글 달기