테스트 주도 개발 (Test-driven development TDD) 여기서 가장 중요한 단어는 development 이다. d가 들어간 단어가 많은데 Development 인지 design 인지 구분해야한다. TDD 는 development 이므로 TDD로 넘어가기 전에 설계(design) 을 끝내야 한다. design에 대한 고민을 안하고 TDD 를 하려고 하면 어렵다. TDD를 사용하면 자신감을 불어 넣어 준다.TDD = TFD(Test First Development) + 리팩터링 클래스 설계, 명세, 기능 요구사항 분석은 사전에 수행 TDD의 사이클실패 테스트 작성테스트가 빨리 통과 되게끔 만든다. -> 죄악을 저지른다. 밑에 나오는 예시를 보면 죄악이 어떤건지 알게될 것이다ㅎㅎ리팩터링 ->..
우아한테크코스
이전 글에 이어서 현직자 분의 step2 리뷰 입니다. 반복되는 리뷰는 앞 글에서 묶어서 이미 정리하였습니다. 1. 재사용 가능하게 만들어라 class RaceTime(private var time: Int) { ... fun reduceTime(): Boolean { if (time Unit) { repeat(time) { func() } } } repeatTimes는 함수를 인자로 받아 time 만큼 반복한다. 컨트롤러에서 반복하고 싶은 함수를 전달한다. 기존 var time 은 이제 불변 변수 val 로 변경한다. class Controller(){ private fun race(cars: List, raceTime: RaceTime) { outputView.printExecutionResult()..
현직자 리뷰어 님의 피드백을 바탕으로 정리하였습니다. 페어 프로그래밍 리뷰 페어 프로그래밍을 처음해봐서 아직 제대로 이해하지 못한 코드를 많이 적용하게 되었고 그러다 보니 이해도가 점점 떨어지게 되었다. 리뷰 또한, 당연하게도 제대로 이해하지 못한 것들의 질문을 많이 받게 되었다. 그 질문들에 대한 답을 간단하게 정리해 본다. 1. 스켈레톤 코드 커밋 프리코스 때 부터 시작하기 전에 대략적인 구조를 만들고 그 구조에 맞게 클래스를 미리 정의하고 커밋했다. 기능을 구현하는 과정에서 어떻게 구현을 해 나갈지 모르고 구현 시 코드에 많은 변경이 있을 것이다. 따라서 작성자 본인 외에 알기 어려운 커밋 단위는 좋지 않은 커밋이다. 귀찮음을 피하는 것은 커밋으로 해결해선 안된다. 2. 멤버 변수로 사용할 필..
1. 코틀린이란? JVM, 안드로이드, 자바스크립트 및 네이티브를 대상으로 하는 정적 타입 지정 언어 젯브레인즈에서 개발한 오픈 소스 OO, FP 스타일 모두 가능 간결하고 실용적이며 안전하고 기존 언어와의 상호 운용성을 중시한다( + 코루틴 ) java 이름의 유래를 오마주하여 kotlin도 섬이름을 따왔다. 2. 정적 타입 지정 언어 자바와 마찬가지로 코틀린은 정적 타입 지정 언어이다. 정적 타입 지정 언어란 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있어 프로그램 안에서 객체의 필드나 메서드를 사용할 때 마다 컴파일러가 타입을 검증해 준다. 즉, 실행하기 전에 컴파일러가 검증해 잘못됨을 감지하여 매우 효율적이다. 인텔리제이와 다르게 안드로이드 스튜디오는 백그라운드에서 컴파일러가 계속 돌면서 ..
오늘은 대망의 우아한테크코스 5기 시작 날!! 모바일 안드로이드 분야인 나는 10시까지 선릉 캠퍼스에 도착했다. 먼저 오전에 모든 분야를 합친 전체 OT가 진행했는데 사람이 많은 만큼 Zoom 을 사용한 온라인으로 진행되었다. 우아한테크코스 소개 캡틴 포비와 많은 코치 분들이 있었고 각 코치는 학습에 도움을 주는 역할이 큼..! 분야별 코치는 물론 스프트 스킬, 협업, 글쓰기 코치분들도 있었다. 우아한테크코스의 교육 목표 1. 일반 사용자용 소프트웨어 개발 회사의 1년 경력에 준하는 역량을 갖춘 개발자를 양성 2. 개발 프로세스를 지키면서 프로젝트를 진행하고 협업 경험을 가진 개발자 3. 자기 주도적 학습, 지속적 성장할 수 있는 개발자 미션 소개 1주일에 두 번 2시간의 수업이 있고 나머지 시간에는 짝..