728x90
반응형

TDD 5

일급 컬렉션

일급 컬렉션 일단 나는 넥스트스텝의 TDD, Clean Code with Java 12기를 하면서 여기서도 일급 컬렉션을 사용했었다. 참 웃겼던건 이것을 조금 응용을 했었어야 했는데 개념 자체도 자세하게 정리가 덜 된것 같았다. 도메인에서부터 차근차근 만들어가는 것에서는 어느정도 생각이 잘 들었지만, 기존 레거시 코드에 이런게 적용되어 있지 않고 뚱뚱하게 로직이 작성되어 있으면 그냥 넘어갔던게 흔했다. 객체지향 생활체조 원칙 소트웍스 앤솔러지에서 발췌된 객체지향 생활체조 원칙이다. 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다. 규칙 2: else 예약어를 쓰지 않는다. 규칙 3: 모든 원시값과 문자열을 포장한다. 규칙 4: 한 줄에 점을 하나만 찍는다. 규칙 5: 줄여쓰지 않는다(축약 금지)...

Java 2022.08.09

TDD Clean Code with Java 12기 3주차

포스팅이 늦었다. 3주차 미션인 사다리도 끝나게 되었다. 로또에서보다 난이도가 많이 올라간 느낌이었다. 리뷰어분이 빡세게 그리고 꼼꼼하게 해주신 덕분에 나 자체도 굉장히 성장한것 같다❗ 아래는 깃허브 PR 목록이다. 사다리 1주차 사다리 2주차 사다리 3주차 사다리 4주차 테스트 전체적으로 테스트코드를 고민하다가 한번 로직에 손을 대면 저절로 도메인 위주로 구현을 하게 되었다. 테스트를 항상 생각하면서 그리고 테스트를 실행함으로 인해 로직을 구현해 나가야 하는것이 조금 부족했던 챕터였다. 그래서 중간에 리뷰를 받다가 너무 로직이 답답해 보였다. 읽고있던 이펙티브 자바를 접목시켜서 조금 더 나은 로직으로 개선했다. 로직개선으로 문제를 겪었었는데, 그 문제가 바로 절차지향으로 개발했기 때문에 문제였다. 모든..

Java 2022.08.06

TDD Clean Code with Java 12기 2주차 피드백

테스트 코드 자동차 경주에 대한 라이브 피드백 시간인데 느낀점이 있어서 포스팅하게 되었다. 테스트 코드 비교할 경우 우리는 항상 getter, setter 메소드를 많이 써왔다. 그래서 나도 습관처럼 객체를 생성하고 비교를 할 경우에 아래와 같이 코드를 작성했었다. @Test void create() { Position actual = new Position(5); assertThat(actual.getPosition).isEqualTo(5); } 이런식으로 get 메소드를 사용해서 값을 비교를 했는데 이 방식은 잘못되었다기 보다는 get을 사용하지 않고 객체와 객체를 비교하는 방법을 사용하는 것이 오히려 객체지향적 측면에서 좋을 것 같다. 그렇게 Position 클래스에 equals() 와 hashCo..

Java 2022.08.06

TDD Clean Code with Java 12기 2주차

로또 2주차 미션은 로또 생성기였다. Step1 - 문자열 덧셈 계산기 Step2 - 로또(자동) Step3 - 로또(2등) Step4 - 로또(수동) 프로그래밍 요구사항이 점점 추가되어 조금 더 제한적인 상황에서 조건문을 사용해야 한다. 주차가 늘어가면서 느끼는것이지만, 테스트 주도 개발을 하게 되니까 안하던 방법이라서 손에 익지는 않았다. 그런데 완성되는 테스트를 먼저 구현하다 보니까 오류가 나는 상황에 대해서 더 생각하고 코드를 구현할 수 있게 되는것 같다. 이 과정을 진행하면서 이펙티브 자바도 같이 읽고 있다. 정적 팩토리 메서드는 이제 꼭 쓰게 되는것 같다.😁 꼭 쓰는것은 또 아니라고 생각해야되는데 일단 무분별하게 생성자로 객체를 생성할 수는 없게 만들어 놨다. 클래스 클래스 부분에서 좀 많은 ..

Java 2022.08.05

TDD Clean Code with Java 12기 - 1주차

넥스트스텝에서 주최한 TDD, 클린코드 with Java 12기를 신청하게 되었다. 개인적으로 테스트 주도로 개발하는 것을 너무 지향했고 혼자 공부하면서 지식을 습득했었는데 이런 좋은 강의를 통해서 기존에 스터디원들과도 같이 성장할 수 있는 계기가 또 한가지가 생기게 되었다.😄 넥스트스텝은 개발자가 소프트웨어 장인으로 성장하는데에 필요한 모든 도움을 주는 것이 비전이자 목표라고 한다. 자동차 경주의 후기는 단위 테스트 코드 작성에 대한 것보다 더 나아가서 TDD를 하려고 무조건 조금씩이라도 테스트를 해가면서 기능을 구현하는 것을 습관화 하면 저절로 뒤로 클린코드가 따라오는 것 같다. 아직 익숙하지 않고 길들여지진 않았지만 다음 미션들을 차근차근 해나가면 TDD에 적응될 것 같다!! 각 코드리뷰 PR이다...

Diary 2022.08.05
728x90
반응형