블로그
전체 3#카테고리
- 백엔드
- 프로그래밍 언어
#태그
- 워밍업클럽
- 발자국
- 백엔드
- 읽기좋은코드를작성하는사고법
- day4미션
2024. 10. 13.
0
인프런 워밍업 클럽 2기(클린코드/테스트 코드)_1주차 발자국
2주 회고Keep (만족했고, 앞으로 지속하고 싶은 부분)이번 강의를 수강하며 이전에 참여했던 교육 과정에서 리팩토링을 진행했던 기억이 났었다. 그때는 하나로 합쳐져 있던 프로젝트에서 뷰쪽을 나누고 프레임워크를 적용하는 수준이었는데 섹션 6과 7에 나오는 내용들을 알고 있었다면 좀 더 다른 방향으로도 확장되게 리팩토링을 할 수 있었겠다는 생각이 들었다. 이번 강의 내용을 잘 정리해두었다가 실무에서 리팩토링을 해야하는 경우가 생기면 잘 적용해보며 효과적으로 리팩토링을 진행해봐야겠다. Problem (부정적인 요소로 작용했거나 아쉬웠던 점)강의를 다 수강하지 못해 day7 미션을 제출하지 못했다. 진도대로 강의를 수강하거나 및 미션 수행을 제대로 하지 못해 아쉽다.Try (Problem에 대한 해결 방식으로 다음에 시도해볼 점)프로젝트에 투입이 될 줄 모르고 워밍업 클럽에 참여한 것은 아니었지만 예상보다도 더 강의도 밀리고 미션 수행도 어려웠다... 😂 포기할까라는 생각도 들었지만 이왕 벌어진 일이니 잘 병행해서 마무리할 수 있도록 마음을 다잡아보았다.중간점검 라이브 때 다른 사람들의 질의응답이나 미션을 보며 다들 어떻게 일도 하면서 공부도 이렇게 열심히 하는지 신기하면서도 반성하는 마음을 가졌다.남은 절반의 기간동안 다시 시작하는 마음으로 강의를 최대한 밀리지 않게 들어봐야겠다.
백엔드
・
워밍업클럽
・
발자국
2024. 10. 06.
0
인프런 워밍업 클럽 2기(클린코드/테스트 코드)_1주차 발자국
1주 회고 (KPT 템플릿 활용)Keep (만족했고, 앞으로 지속하고 싶은 부분)섹션2의 내용인 '추상'에 대해서 그동안 이렇게까지 깊게 생각해본적 없었는데, 강의 덕분에 추상을 객체지향적인 관점과 함께 생각해볼 수 있었다.'캡추상다'처럼 객체지향에 대해 거의 암기식으로 생각을 했었는데 코드와 자세한 설명으로 인해 필요성을 느꼈고 더 와닿게 배울 수 있었다.평일에 퇴근하고 공부를 해야한다는 생각은 했었지만, 그동안 피곤하다는 이유로 실천하는 것이 어려웠다. 그렇지만 워밍업 클럽에 참여하며 강제성이 생겨 조금씩이라도 공부를 할 수 있었다. 이번 기회에 공부습관을 잘 만들어서 지속적으로 이어졌으면 좋겠다.Problem (부정적인 요소로 작용했거나 아쉬웠던 점)지난 달 말부터 새로운 프로젝트에 참여하게 되면서 쉬는 날에도 업무를 해야하는 경우가 생겨 스터디에 투자할 수 있는 시간이 적었다.이로 인해 강의 진도를 커리큘럼대로 따라가지 못해 밀리거나 미션을 마감기한 전에 급하게 제출하는 경우가 있었다.Try (Problem에 대한 해결 방식으로 다음에 시도해볼 점)워밍업 클럽에 참여하는 동안에는 주말의 휴식, 여가시간을 줄이고 강의내용과 미션에 좀 더 집중해봐야겠다.배웠던 내용을 정리하면서 강의를 수강하다보니 강의를 듣는 시간이 오래 걸렸다. 커리큘럼보다 진도가 늦어진 경우에는 강의를 정리하기보다는 먼저 정해진 진도까지 수강하고 여유가 있을 때 복습하는 겸 강의를 정리하면 좋을 것 같다.미션 정리day2 미션 _"추상과 구체" 강의를 듣고, 생각나는 추상과 구체의 예시가 있다면 한번 3~5문장 정도로 적어봅시다.헬스장에서 운동을 하는 과정을 구체 레벨에서 표현한다면? 헬스장에 도착해 출입 카드 등을 통해 출입을 인증한다.운동복과 운동화를 착용한다.준비운동 또는 스트레칭을 통해 근육을 풀어준다.기구 또는 맨몸을 사용하여 신체를 조절한다.헬스장을 나가며 출입을 종료한다.day4 미션 1) 아래 코드와 설명을 보고, [섹션 3. 논리, 사고의 흐름]에서 이야기하는 내용을 중심으로 읽기 좋은 코드로 리팩토링해 봅시다. 2) SOLID에 대하여 자기만의 언어로 정리해 봅시다.https://www.inflearn.com/blogs/8394
프로그래밍 언어
・
워밍업클럽
・
백엔드
・
발자국
2024. 10. 03.
0
인프런 워밍업 클럽 2기(클린코드/테스트 코드)_day4 미션
1. 아래 코드와 설명을 보고, [섹션 3. 논리, 사고의 흐름]에서 이야기하는 내용을 중심으로 읽기 좋은 코드로 리팩토링해 봅시다.✔ 사용자가 생성한 '주문'이 유효한지를 검증하는 메서드. ✔ Order는 주문 객체이고, 필요하다면 Order에 추가적인 메서드를 만들어도 된다. (Order 내부의 구현을 구체적으로 할 필요는 없다.) ✔ 필요하다면 메서드를 추출할 수 있다.public boolean validateOrder(Order order) { if (order.getItems().size() == 0) { log.info("주문 항목이 없습니다."); return false; } else { if (order.getTotalPrice() > 0) { if (!order.hasCustomerInfo()) { log.info("사용자 정보가 없습니다."); return false; } else { return true; } } else if (!(order.getTotalPrice() > 0)) { log.info("올바르지 않은 총 가격입니다."); return false; } } return true; }리팩토링 후 public boolean validateOrder(Order order) { if (order.getItems().isEmpty()) { log.info("주문 항목이 없습니다."); return false; } if (order.getTotalPrice() > 0) { if (order.hasCustomerInfo()) { return true; } log.info("사용자 정보가 없습니다."); return false; } if (order.getTotalPrice() !(부정 연산자) 줄이기dept 줄이기공백 라인 추가 2. SOLID에 대하여 자기만의 언어로 정리해 봅시다.단일 책임 원칙하나의 클래스는 하나의 책임만 가져야 한다. 하나의 역할에 집중하면 코드를 수정할 때 다른 부분에 영향을 주지 않고 유지보수가 쉬워진다.개방 - 폐쇄 원칙확장에는 열려 있고 수정에는 닫혀있어야 한다.기존의 코드를 변경하지 않고 새로운 기능을 추가할 수 있어야 한다. 이미 작동하는 코드가 손상될 위험이 줄어들고 확장도 수월하다.리스코프 치환 원칙부모 클래스 대신 자식 클래스를 사용해도 문제가 없어야 한다. 자식 클래스가 부모 클래스의 기능을 대신할 수 있다면 코드의 안정성을 높일 수 있다.인터페이스 분리 법칙인터페이스는 필요한 기능만을 나누어 제공해야 한다.큰 인터페이스보다는 작은 인터페이스 여러 개로 설계해야 한다.불필요한 의존성을 줄이고 코드의 유연성을 높일 수 있다.의존 역전 법칙고수준 모듈은 저수준 모듈에 의존하지 않아야 한다.추상화된 인터페이스에 의존해야 한다.변화에 강한 구조를 만들고 코드의 재사용성을 높일 수 있다.
프로그래밍 언어
・
읽기좋은코드를작성하는사고법
・
day4미션