카테고리 없음

[CleanCode & TDD] - 1, 개요

스프링피바라기 2021. 11. 14. 16:45

거북이

나는 개발자이고,

여러 프로젝트를 개발했다.

(물론 학부생 수준의 프로젝트였다..)

 

그러나 지금 다시 해당 프로젝트 코드를 보면 

그때 왜 이런 저급하게 코드를 짰을까 - 하며 생각을 했다.

 

그런데 지금 새로 프로젝트를 코딩한다 해도,

미래에 다시 해당 프로젝트를 보면 또 같은 생각을 할 것이다.

 

또한 해당 프로젝트들을 다시 리팩터링 하라 하면

할 엄두가 안 난다.

 

이유는 무엇일까?

 

첫째는 내가 발전했다는 증거이다.

이전에는 어렵게 짰던 코드를 이제는 쉽게 바라볼 수 있기 때문에,

저급하다고 생각이 드는 것이다.

 

둘째는 내가 컨벤션을 지키지 않았기 때문이다.

매번 구현하고 기능만 실행 가능하면 되지 라는 생각에 초점이 맞춰져 있어서,

정작 코드는 삐뚫삐뚫하고 변수는 우왕좌왕하는 것이다.

 

마지막으로 클린 코드를 공부하지 않았기 때문이다.

클린 코드, effective java 등 여러 좋은 서적이 유명한 이유는,

바로 이런 들쑥날쑥한 코드를 바로잡기 좋아서이다.

또한 이런 실력은 개발 협업의 기초가 된다.

 

 

나는 Clean Code와 TDD를 학습하기로 마음먹고,

2021년 2학기 캡스톤 프로젝트부터 적용하기로 했다.

 

그러기 위해서는 빠르고, 정확하게, 상세하게 학습할 필요가 있다.

 

그래서 나는 

박재성 선생님의 

자바 플레이 그라운드 with TDD, Clean Code를 통해 학습을 시작한다.

(저렴한 가격에 좋은 퀄리티의 미션들로, 빠르게 학습하기를 원하면 강추이다.) 

(이렇게 맛보기로 한 후에, 서적을 통해 Deep 하게 공부할 계획이다.)

 

 

#1 클린 코드는 왜 중요한가?

 

우리가 나쁜 코드를 짜는 이유를 돌이켜보면 된다.

 

1. 제대로 구현할 시간이 없다고 생각하기 때문에

2. 리팩터링을 하는데 시간을 보냈다가 다른 사람의 눈치를 볼까 봐

    (기능 추가 구현이 없다고 생각되기 때문에)

3. 지겨워서 빨리 끝내려고

4. 다른 업무가 너무 밀려서 후딱 해치우고 밀린 업무로 넘어가려고

 

 

다들 한 번씩은 경험해봤을 것이다.

그러나 이런 올바르지 못한 습관은 우리의 코드가 미래의 우리 자신에게 미안한 짓을 하고 있는 것이다.

 

1. 다시 리팩터링을 해야 하는 경우, 막연함이 밀려온다.

2. 다른 사람에게 보여줘야 하는 경우, 부끄러움이 밀려온다.

3. 코드를 재활용하는 경우, 재활용의 가치가 떨어진다.

 

우리 모두는 쓰레기 코드를 보며 나중에 손보겠다고 생각한다.
하지만 나중은 절대 오지 않는다.
- 르블랑의 법칙

 

 

 

따라서 선생님의 해법은

 

 

"기한을 맞추는 유일한 방법은,

그러니까 빨리 가는 유일한 방법은

언제나 코드를 최대한 깨끗하게 유지하는 습관이다."

 

 

 

 

아직 늦지 않았다고 생각한다.

오히려 지금이 가장 빠른 시기라고 생각한다.

 

  나의 코드가 자랑스러워 질 수 있게  

  숨을 불어넣어주자.  

 

 

 

 

ref

"클린코드는 왜 중요한가?" - youtube 박재성

https://edu.nextstep.camp/s/RFY359FE

 

플레이그라운드

 

edu.nextstep.camp

 

"daehwan2yo"   contact

software, soongsil univ  <  now

udsward@gmail.com  < email

https://github.com/daehwan2yo <    git

 

daehwan2yo - Overview

daehwan2yo has 14 repositories available. Follow their code on GitHub.

github.com