코드스멜, 클린코드
리팩토링 I. 리팩토링의 대상 소스코드, 코드스멜의 개요 가. 코드스멜(Code Smell)의 정의 - 읽기 어렵거나 중복된 로직을 가진 프로그램처럼 개발자가 이해하거나 유지보수하기 어려워 리팩토링의 대상이 되는 소스코드 나. 코드스멜의 종류 - 중복된 코드, 긴 메소드, 큰 클래스, 긴 파라미터 리스트, 두가지 이상의 이유로 수정되는 클래스, 여러 클래스를 동시 수정, 다른 클래스를 지나치게 애용, 유사 데이터들의 그룹 중복, 기본 데이터 타입 선호, Switch/if 문장, 게으른 클래스, 주석 II. 단순하고 직접적으로 작성된 소스코드, 클린코드의 개요 가. 클린코드(Clean Code)의 정의 - 코드를 작성한 의도와 목적이 명확하여 다른 사람이 쉽게 읽을 수 있도록 설계자의 의도를 반영하여 단순..
2021. 2. 1.
TDD(Test-Driven Development)
XP, 리팩토링, Red, Green I. 테스트 기반 개발 방법론, TDD의 개요 가. TDD(Test-Driven Development)의 정의 - 실제 코딩 전 테스트 코드(테스트 케이스)를 작성하고, 해당 테스트를 반복하여 오류가 나는 부분에 대한 코딩을 진행하는 방법론 나. TDD 의 특징 - 빠른 피드백, 상향식 접근방법, 빠른 개발 및 높은 신뢰성 확보, Simple Code - 애자일의 XP 에서 사용 II. TDD 의 절차 테스트 작성 오퍼레이션 요구 기능에 대한 인터페이스 개발 Add a Test 코드 작성 테스트에 대해 실행 가능한 코드를 신속하게 작성 Make it pass 리팩토링 중복코드/임시코드의 제거, 모듈화, 디자인패턴 Make it right 체크인 모든 테스트가 작동하는..
2021. 2. 1.
UX (User eXperience)
UI, UX, 디자인 I. 사용자 경험 디자인, UX의 개요 가. UX (User eXperience)의 정의 - 사용자가 제품, 서비스 혹은 시스템을 사용하거나 체험하는데 있어 지각하는 것이 가능한 조직적 상호 교감적인 모델을 창조하고 개발하는 디자인 나. UX의 특징 - 주관성, 동적 정황성, 총체성 다. UX의 속성 - 사용성, 편의성, 정보 적응성, 신뢰성, 디자인 II. UX 의 관계도 및 지원요소 가. UX의 관계도 나. UX의 지원요소 구분 지원요소 설명 SW 분야 RIA 빠른 응답속도, 간결한 UI 제공 Search 2.0 서비스로의 사용자 경험 기반 지원 Human Computer Interaction 멀티모달 사용자 오감을 통한 실감형 정보 제공 햅틱 인터페이스 질감형, 역감형, 사용자..
2021. 2. 1.