네이버 개발자 선배의 특강에서 언급된 용어, 툴, 팁들. 나중에 필요하면 찾아보자.


* eclipse checkstyle plug-in


* code coverage(unit test)


* TDD (Test-driven-development) : A software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.

① 테스트 코드 작성

② 코드 컴파일 성공여부 확인

③ 테스트 통과 구현

  ex) 악마적 구현. void foo(){return true;}


* JIRA (/ˈdʒi.rə/ jee-rə)[4] is a proprietary issue tracking product, developed by Atlassian, used for bug tracking, issue tracking and project management. The product name, JIRA, is not an acronym but rather a truncation of "Gojira", the Japanese name for Godzilla.[5] It has been developed since 2002.


* wikidocs : 협업시 문서 관리에 좋음


* IoC : In software engineering, inversion of control (IoC) is a programming technique, expressed here in terms of object-oriented programming, in which object coupling is bound at run time by an assembler object and is typically not known at compile time using static analysis.

IoC 의 개념도. 사실 잘 이해 못하고 그렸다. 이것이 Java Spring 의 핵심이라고 한다.


인터페이스를 사용한다고 해도 코드 의존성을 완전히 제거할 수는 없다. 인터페이스를 사용하는 클래스는 결국 인터페이스를 구현한 클래스를 생성하므로, 그 클래스 이름이 코드 내에 삽입돼야 하기 때문이다. 이러한 코드 의존성을 거의 없애기 위해 XML 을 이용하는 것이다.


* stubs and drivers - 아직 전체 기능이 완성되지 않았을 때, unit test 를 위해서 사용.

 stub : 구현하고자 하는 함수가 이용하는 테스트 코드(객체, 함수 등)

 driver : 구현하고자 하는 함수를 이용하는 테스트 코드(객체, 함수 등)