Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spring 사용자 모임 오프라인 세미나 We bring e-business to your business! Agile Java 1. Getting Started 작성자 : 안영회, 백기 선.

Similar presentations


Presentation on theme: "Spring 사용자 모임 오프라인 세미나 We bring e-business to your business! Agile Java 1. Getting Started 작성자 : 안영회, 백기 선."— Presentation transcript:

1 Spring 사용자 모임 오프라인 세미나 We bring e-business to your business! http://springframework.co.kr Agile Java 1. Getting Started 작성자 : 안영회, 백기 선

2 2 http://springframework.co.kr 1. 테스트란 ? 테스트의 목적  The tests are a means of specifying what the code needs to do. => 요구사항 (requirements)  After writing the corresponding code, the tests are run to ensure that the code does what the tests specify.  코드 작성 이전과 이후 모두에 필요 >> Driver 가 될 수 있음.  요구사항을 담는 측면과 Driver 로 쓸 수 있는 면에서 Use Case 와 역 할이 겹친다.

3 3 http://springframework.co.kr 2. 테스트 프레임워크 비교  JUnit 3.8.1  JUnit 4  TestNG  비교 기준 - Intrusion - Assertion 방법 - 부가 기능

4 4 http://springframework.co.kr 3. 변수의 범위 (Scope)  지역 변수 (Local Variables) = temp/temporary variables It is local because it will exist only for the duration of the test method.  인스턴스 변수 (Instance Variables) = field A field declaration can appear anywhere within the class as long as it appears outside of the methods defined in that class.  attribute( 속성 ): a general object-oriented term for a characteristic of an object.  Principle of least privilege Principle of least privilege

5 5 http://springframework.co.kr 3. 변수의 범위 (Scope) statement method instance class

6 6 http://springframework.co.kr 4. 간단한 객체 생성 구문의 이해  Student student = new Student("Jane Doe"); 1.the Java VM executes the code to the right-hand side of the assignment operator. 2.creating a Student object in memory. 3.The VM takes note of the actual memory address where it places the new Student object. 4.the VM assigns this address to a reference on the left-hand side.

7 7 http://springframework.co.kr 5. 리팩토링 (Refactoring)  목적 1. ensure that there is no duplicate code in the system 2. ensure that the code is clean and expressive, clearly stating the intent of the code  불필요한 지역 변수 제거하기.  문자열의 의미를 나타내는 변수 사용하기. setName(“ 기선 ”); String name = “ 기선 ”; setName(name);

8 8 http://springframework.co.kr 5. 리팩토링 : 이클립스 리팩토링 활용  String 리터럴 > final 변수

9 9 http://springframework.co.kr 5. 리팩토링 : 이클립스 리팩토링 활용  인스턴스 / 멤버 변수 이름 변경

10 10 http://springframework.co.kr 5. 리팩토링 : 이클립스 리팩토링 활용  빠른 보정 (quick fix) 으로 this 명시

11 11 http://springframework.co.kr 6. 이름 짓기 (Naming Conventions)  잘못된 이름 패턴 sDescription, firstNameString, trim,..., tdmAccountWebCtrl, CD_SA_OGNZTBR  등장하게 되는 이유 ? 네임스페이스에 대한 이해부족. 이름 짓기 어렵다 ( 네이버 찾는거 힘들다 ) > 도메인 용어가 정의되지 않음.  좋은 이름 : in JDK or Spring API  좋은 작명이 주는 이점은 ? 명확한 작성이 명실상부를 유도하여 SOC 를 돕는다.

12 12 http://springframework.co.kr 7. 공백 문자 (whitespace) 과 들여쓰기 (indentation)  종류 - space - tab \t - form feed \f - new line(carriage return) \n  # 이클립스 들여쓰기 / 포맷 교정 및 표준화 기법 공유

13 13 http://springframework.co.kr 코드 깊이 보기  Instance Variables Encapsulation Test ??

14 14 http://springframework.co.kr 코드 깊이 보기  Summarizing the Test 명령 Command Mutator, Modifier 질의 Query 1.immutable!! 2.Fixture 와 testcase 가 같은 패키지에 위치할 때 얻는 이점

15 15 http://springframework.co.kr TDD 기반 개발 절차 1.Write a small test to assert some piece of functionality. 2.Demonstrate that the test fails. 3.Write a small bit of code to make this test pass. 4.Refactor both the test and code, eliminating duplicate concepts and ensuring that the code is expressive.


Download ppt "Spring 사용자 모임 오프라인 세미나 We bring e-business to your business! Agile Java 1. Getting Started 작성자 : 안영회, 백기 선."

Similar presentations


Ads by Google