[워밍업 클럽 2기 BE 클린코드&테스트] 1주차 회고
한 주 동안 배웠던 내용들을 요약하고,
배움의 과정에서 느꼈던 것을 회고해보려고 한다.
배운 것들
1. 추상과 구체
앞으로 배울 내용의 있어서 대표할 수 있는 주제이지 않을까 싶다.
중요한 정보는 가려내어 남기고, 덜 중요한 정보는 생략하여 버린다.
적절한 추상화는 코드를 이해하기 쉽도록 만들어 준다.
개발자들이 읽기 좋은 코드를 작성해야 하는 이유는 다음과 같다.
코드가 잘 읽힌다 == 이해가 잘 된다 == 유지보수 하기가 수월하다 == 시간과 자원이 절약된다.
따라서 추상화를 적절하게 적용하여 코드를 잘 읽히도록 작성하는 것이 중요하다.
2. 논리, 사고의 흐름
읽기 좋은 코드는 최소의 인지적 노력으로 최대의 정보를 얻을 수 있을 것이다.
인지적 경제성을 띈 코드를 작성하려면 아래와 같이 코딩을 해보자!
Early return
논리적 사고 depth 줄이기
사용할 변수는 가까운 곳에 선언하기
적절한 의미 단위를 공백 라인으로 구분하기
부정어를 한 번에 이해할 수 있도록
의도된 예외와 의도하지 않은 예외 구분하기
NullPointerException 을 방지하도록 코딩하기
3. 객체 지향 패러다임
객체란 추상화된 데이터와 코드의 집합체로 볼 수 있다.
객체 지향 세계에는 각 객체마다 고유한 책임이 존재하고,
객체들 간의 협력이 존재한다.
객체들은 서로 메시지를 주고 받으면서 협력을 하게 된다. 이때 메시지를 주고 받는 창구 역할이 공개 메서드이다.
즉, 공개 메서드는 각 객체의 책임을 드러낸다.
객체 지향 패러다임으로 코딩을 하면 절차 지향에서 잘 보이지 않던 개념들이 가시화된다.
그리고, 관심사가 한 군데로 모이기 때문에 유지보수하기 편하다.
따라서 객체 지향 언어를 사용하는 개발자들은 SOLID 원칙을 지향하면서 개발하는 것이 좋다.
회고
좋았던 점
평소에 흩어져있던 객체 지향 프로그래밍 지식들을 응집도 있게 모을 수 있었던 한 주였던 것 같다.
특히, 이론적으로만 알던 내용들을 실제 예제 코드들에 적용해가면서 실제 적용하는 방법에 대해 알 수 있었다.
평소에 신경쓰지 않고 개발하는 부분들에 대해서도 한 번 더 고민해보고 코딩하는 습관을 갖게 된 것 같다.
아쉬웠던 점
SOLID 원칙은 아무래도 연습을 많이 해봐야 체내화가 될 것 같다.
연습이 많이 부족한 것 같다. 평소에 코딩하면서도 5 가지 원칙을 고려하면서 확장성 있는 개발을 하도록 노력해야 될 것 같다.
흥미로운 점
객체들간의 협력이 이뤄지는 방식에 대해 더욱 확고한 시야를 가질 수 있었던 시간이었다.
댓글을 작성해보세요.