목록일상/우아한테크캠프 (14)
설모의 기록
TDD 마무리, Spring Boot 의 시작 우아한테크캠프의 첫 주의 마무리로 일주일동안 배운 TDD 방식과 객체지향 프로그래밍에 대한 내용을 정리하고 앞으로 사용해 볼 Spring Boot 의 기초적인 사용법을 살펴보는 시간을 가졌습니다. TDD 방식은 앞서 정리한 포스팅과 같이 테스트 코드를 먼저 작성한 이후에 그 테스트 코드가 제대로 동작하도록 코드를 구현하고 리팩토링하는 방식입니다. 우아한테크캠프에 참여하기 이전에는 테스트 코드를 짜본 적도 없었고, 코드를 빠르게 구현해나가는 것에 초점이 맞춰져 있었습니다. 그래서 제 코딩습관을 고치는 것이 어색하고 힘들었습니다. 그런데 오늘 강의해주신 pobi의 의견이 와닿았습니다.TDD 방식의 연습은 실제 프로젝트가 아니라 자신의 장난감 프로젝트에서 시작하라..
객체지향 프로그래밍 기반으로 TDD 수행하기 오늘은 어제의 내용과 객체지향 생활체조 원칙을 바탕으로 코드를 구현하는 연습을 배웠습니다. 객체지향 생활체조 원칙은 극단적이라고 느낄 수 있지만 객체지향적으로 프로그래밍하기 위해 익혀야하는 원칙입니다. 그 내용은 아래와 같습니다.하나의 메소드에는 오직 한 단계의 들여쓰기만 한다.else 예약어를 쓰지 않는다.모든 원시값(primitive type) 과 문자열을 포장한다.한 줄에 점을 하나만 찍는다.줄여쓰지 않는다. // 축약 금지모든 엔티티를 작게 유지한다.3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.일급 콜렉션을 쓴다.getter / settert / property를 쓰지 않는다. TDD 방식을 구현하며 주의해야 할 사항위의 객체지향 생활체조 원..
TDD (Test Driven Development) ? 개발을 생각의 흐름대로 진행하다보면, 중간의 결과값을 알아보고 싶지만 그 값을 알기 위해서 해야 할 작업들이 너무 많아 포기할 때가 종종 있었을 것입니다. DB 조회 코드만 생각해도 데이터베이스에 해당 데이터가 있는지만 조회하려 해도 데이터베이스 환경을 세팅하는 코드를 실행하고, connection 을 연결하는 코드를 실행해야 비로소 데이터를 조회할 수 있습니다. 이럴 때 유용한 것이 단위 테스트입니다. 그리고 단위 테스트를 언제 작성하고 수행해야 하는지를 나타내는 방식이 TDD입니다. TDD 방식을 이용하지 않으면 일반적으로 테스트 코드를 작성하기 어렵도록 코드를 구현합니다. 그렇다보니 테스트 코드를 작성하기 어려워 '하지말자!' 또는 '다음 로..
Code Convention? 개발자라면 어느 언어를 사용하느냐에 관계없이 코드 컨벤션의 중요성을 알 것입니다. 코드 스타일이 다른 사람들과 협업을 하다보면 코드를 구현하는 시간보다 동료의 코드를 이해하는 시간이 더 오래 걸립니다. for문의 body를 감싸는 괄호를 한 줄 띄우냐, 안 띄우냐로도 신경쓰이기 때문이죠. 코드 컨벤션은 기본적으로 언어마다 지켜야 할 규칙이 있지만 그 이외의 부분에서는 팀원들과 상의하여 규칙을 모두 정해야 합니다. 코드 컨벤션 규칙을 정하고 협업을 시작하면 코드를 읽는데에도, 유지보수하는데에도 상대적으로 적은 시간이 걸립니다. 오늘 제가 우아한테크캠프에서 배운 간단한 코드 컨벤션은 아래와 같습니다. 1. 클래스 명은 대문자로, 메소드 명은 소문자로 시작하기public clas..