dudun
@dundun
수강평 작성수
1
평균평점
5.0
블로그
전체 3
2024. 10. 20.
0
인프런 워밍업 클럽 2기 백엔드 클린 코드와 테스트 코드 3주 차 발자국
이번주 회고세 번째 주 인프런 워밍업 클럽2기 클린코드와 테스트를 진행하였습니다.강의에서 들은 내용을 실무의 테스트 코드에 적용하고 있습니다. 확실히 예전에는 함수명을 지을 때도 고민을 많이 했는데, 이제는 확실히 어떤 목적으로 함수명을 지으면 되는지 알고 있으니 작업이 수월해졌습니다.한 번만 듣고 끝낼 것이 아니라 여러 번 복습하면 더 도움이 될 것 같습니다.강의를 수강하면서 꼭 기록하고 싶은 내용Layered ArchitecturePresentation Layer, Business Layer, Persistence Layer 로 관심사의 분리를 기준으로 나눈 구조이다.유지보수가 용이해보인다. 통합 테스트여러 모듈이 협력하는 기능을 통합적으로 검증, 기능 전체의 신뢰성을 보장하기 위해 진행 라이브러리와 프레임워크의 차이리액트와 뷰의 차이와도 같다. Persistence Layer외부 세계의 요청을 가장 먼저 받는 계층, 파라미터에 대한 최소한의 검증을 수행- Data Access의 역할- 비즈니스 가공 로직이 포함되어서는 안 된다. Data에 대한 CURD만 집중할 것 CQRS Command / Read 를 의도적으로 책임 분리를 하여 서로 연관이 없게끔 한다.트랜잭션의 ReadOnly = true를 통해 Command와 Read를 분리할 수 있다.

2024. 10. 13.
0
인프런 워밍업 클럽 2기 백엔드 클린 코드와 테스트 코드 2주 차 발자국
이번주 회고두 번째 주 인프런 워밍업 클럽2기 클린코드와 테스트를 진행하였습니다.평일에 꾸준히 시간을 내어 학습하는 것이 쉬운 일이 아닌 것 같습니다. 하지만 세 달만 노력해서 버릇이 되도록 노력해봐야겠습니다.개인적으로 이번 주 라이브 강의가 너무 알차서 만족스러웠습니다. 특히 코드 리뷰 부분에서 많이 배웠습니다. 또한 다른 사람과 스터디를 해야 결국 클린코드라는 것이 완성된다는 생각이 들었습니다. 그래서 스터디를 한 번 구해봐야겠습니다.강의를 수강하면서 꼭 기록하고 싶은 내용리팩토링은 정해진 부분만 진행하기결과 값이 달라지는 리팩토링은 리팩토링이 아니다. 정해진 요구사항이라는 것이 있기 때문에 리팩토링을 하되, 결과 값이 달라지면 안된다. Config를 이용한 설정PassType처럼 단계별로 값이 정적으로 설정되어 있는 경우, 중간에 Config로 이를 구분해놓으면 후에 유지보수 할 때 Config만 수정하면 되기때문에 매우 편한다. 팩토리패턴과 유사한 느낌인 것같다. Exception은 비싸다.무조건 Exception을 날리는 것은 좋지 못하다. Exception은 비싸기 때문에 적절한 상황에 사용하는 것이 좋다.

2024. 10. 06.
0
인프런 워밍업 클럽 2기 백엔드 클린 코드와 테스트 코드 1주 차 발자국
이번주 회고첫 번째 주 인프런 워밍업 클럽2기 클린코드와 테스트를 진행하였습니다.이어진 연휴로 인한 게으름과 사옥 이전으로 인한 스트레스 등으로 일부 완강하지 못한 섹션이 있어서 다소 아쉬움이 남습니다. 하지만 그래도 꾸준히 들으려고 했다는 점과 뭐라도 시도했다는 점은 칭찬할 점인 것 같습니다.다음 주부터는 이제 안정되어가는 시기이니, 휴일에 밀린 섹션을 듣고 다시 열심히 해보겠습니다. 강의를 수강하면서 꼭 기록하고 싶은 내용부정어를 대하는 자세if(!isRightDirection()) 을 사용하는 것보다는 if(isNotRightDirection())을 사용하는 것이 더 읽기 쉽다. 관심사의 분리 (Seperation Of Concern)추상화 작업 중 하나로, 일련의 작업들을 묶어서 이름을 짓고, 역할을 분리하여 높은 응집도와 낮은 결합도를 지니게 하는 것이다. 이를 통해 우리는 유지 보수를 좀 더 수월하게 할 수 있게 된다. 객체로 추상화하기공개 메서드 선언 부를 통해 비공개 필드(데이터)와 비공개 로직(코드)를 외부 세계와 소통할 수 있게 구현한다. 새로운 객체를 만들 때 고려해야할 점1개의 관심사로 명확하게 책임을 정의해야 한다.데이터는 변하지 않는 것이 제일 좋다.setter 지양 : 객체 내부에서 외부 세계의 개입 없이 자체적으로 변경을 처리할 수 있어야 한다.getter 지양 : 객체에 메세지를 보내는 것이 좋다. 외부에서 getter를 남발하는 것은 캡슐화를 한 의미를 져버리는 것이다. 미션 이번 미션의 경우, 간단한 리팩토링 미션이었습니다. 강의에서 들은 것을 바탕으로 도메인 안에서 객체에 대한 로직을 처리하도록 구현하여 응집도를 높였고 캡슐화를 진행하였습니다. 객체 내에서도 List를 사용하는 객체는 일급 객체로 구현하여 유지 보수에 용이하게끔 구현하였습니다.또한 부정어도 최대한 가독성이 높아지도록 Not을 붙여서 구현하였습니다.




