전체 글32 [OKKYCON: 2018] 자바지기(박재성)- TDD 의식적으로 연습하기 의식적인 연습이란? 많은 연습은 역량을 보장하지 않는다. 그렇기에 온전히 집중하고 '의식적' 으로 행동할 것을 요구한다. 컴포트 존을 벗아난 지점에서 진행, 자신의 현재 능력을 살짝 넘어가는 작업을 지속적으로 시도한다. 명확하고 구체적인 목표를 가지고 진행한다. 피드백과 피드백에 따른 행동 변경을 수반한다. (코드리뷰, 짝 프로그래밍) 기존에 습득한 기술의 특정 부분을 집중적으로 개선함으로써 발전시키고, 수정하는 과정을 거친다. 자바 코드 컨벤션을 지키면서 프로그래밍한다. https://google.github.io/styleguide/javaguide.html indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. while 문 안에 if문이 있으면 들여쓰기는 2이다. indent d.. 2020. 9. 20. 테스트 주도 개발 [10 - 17장] 다음에 할 일은 무엇인가?자주 건드리는 부분이 견고 하다면 가장자리, 즉 자주 바뀌지 않는 부분으로 흘러감에 따라 테스트는 더 듬성듬성 불규칙적이게 되고 디자인도 않 좋아지지만 안심할 수 있다.어떤 테스트들이 추가로 필요할까?때로는 실패해야 하는 테스트가 성공하는 경우가 있는데, 그럴 땐 그 이유를 찾아내야 한다. 또는 실패해야 하는 테스트가 실제로 실패하기도 하는데, 이때는 이를 이미 알려진 제한사항 또는 앞으로 해야 할 작업 등의 의미로 그 사실을 기록해둘 수도 있다. (히스토리를 쌓는다.)할 일 목록할 일 목록이 비었다면 그때까지 설계한 것을 검토하기에 적절한 시기다. 메타포(은유)설계 구조에 미치는 메타포의 엄청난 영향public interface Expression { Money reduce(B.. 2020. 9. 12. 테스트 주도 개발 [1 - 9장] TDD의 목적은 작동하는 깔끔한 코드를 얻는 것이다. 작동하는 깔끔한 코드를 얻는 것은 때로는 최고의 프로그래머들 조차 도달하기 힘든 목표고, 나같은 대부분의 평벙함 프로그래머들에게는 거의 불가능한 일이다. 그렇다면 나누어서 정복하자. 일단 '작동하는 깔끔한 코드'를 얻어야 한다는 전체 문제 중에서 '작동하는' 에 해당하는 부분을 먼저 해결한다. 그러고 나서 '깔끔한 코드' 부분을 해결하는 것이다. 요구사항 통화가 다른 두 금액을 더해서 주어진 환율에 맞게 변한 금액을 결과로 얻을 수 있어야 한다. 어떤 금액을 어떤 수에 곱한 금액을 결과로 얻을 수 있어야 한다. 할 일 목록 $5 + 10CHF = $10(환율이 2:1일 경우) $5 x 2 = $10 Dollar 부작용(side effect?) ... .. 2020. 9. 5. [이펙티브 자바 : 3장] 클래스와 인터페이스 추상화의 기본 단위인 클래스와 인터페이스는 자바 언어의 심장과도 같다. 그래서 자바 언어에는 클래스와 인터페이스 설계에 사용하는 강력한 요소가 많이 있다. 이번 장에서는 이런 요소를 적절히 활용하여 클래스와 인터페이스를 쓰기 편하고, 견고하며, 유연하게 만드는 방법을 안내한다. [아이템 15] 클래스와 멤버의 접근 권한을 최소화하라 좋은 설계와 어설픈 설계의 차이는 내부 데이터와 내부 구현 정보를 외부 컴포넌트로부터 얼마나 잘 숨겼느냐에 따라서 드러난다. 좋은 설계는 은닉성을 지키며, 구현과 API를 깔끔히 분리한다. 오직 API를 통해서만 다른 컴포넌트와 소통하며 서로의 내부 동작 방식에는 전형 개의치 않는다. 이것을 정보 은닉, 혹은 캡슐화라고 부른다. 이는 소프트웨어 설계의 근간이 되는 원리다. 정.. 2020. 7. 11. 이전 1 2 3 4 5 6 7 8 다음