반응형
코드스쿼드 3일차
Coding Convention
클래스 구현 순서
- 클래스의 구현 순서는 다음 원칙에 따라 구현 한다.
class A{
상수(static final) 또는 클래스 변수
인스턴스 변수
생성자
메소드
}
들여쓰기, 공백
- IntelliJ 의 formatting 기능을 활용한다.
- 단축키 : Mac (Alt + Cmd + L) / Windows (Ctrl + Alt + L)
이름짓기
변수명에 타입 (String, int ...)은 쓰지마라! - ex) pointsArr
- why ? : int 였던 변수를 String 으로 바꾸게 된다면 이름을 또 바꿔야함
함수
- 함수는 한 가지를 해야 한다. 그 한 가지를 잘해야 한다. 그 한 가지만 해야 한다.
- 함수를 만드는 규칙은 '작게'다. 함수를 만드는 둘째 규칙은 '더 작게'다.
- 매개변수는 0개 일 때가 가장 이상적이며, 3개는 가능한 피하고, 4개 이상은 사용하지 않도록 구현해라.
- IntelliJ 는 Ctrl + Alt + m 을 통한 메소드 분리를 제공한다.
- 호출하는 함수 끼리는 가능한 가까운 곳에 위치시켜라
상수에 Static을 붙이는 이유
상수를 만들 때 static을 쓰지 않으면 인스턴스 생성 마다 상수가 매번 새로 만들어 지므로 메모리를 낭비하게 된다.
그러므로 static을 통해 하나의 상수를 만들고 주소를 공유하는 것이 좋다.
리팩토링
라인 하나 줄이는 것에 목숨을 걸어라!
그러면 코드가 깔끔하게 변한다.
ex)
int num = getNumber();
car = new int[num];
car = new int[getNumber()];
단위 테스트
프로젝트 창에서 src - test - java 는 테스트 하는 공간이므로, 이곳에서 마음 껏 연습을 하면 된다.
테스트 클래스 명은 테스트 하고자 하는 '프로덕션 코드' 클래스 명 뒤에 Test 를 붙이는 것이 일반적이다.
- Apple 클래스를 테스트 하고 싶다 -> AppleTest 클래스
메소드 명은 무엇을 테스트 하는지 명확하게 구분할 수 있는 이름이 좋다. 한글을 사용해도 됨
Alt + Insert 를 활용하면 @Test 를 바로 생성할 수 있다.
클래스 VS 인스턴스
클래스 : 추상화 한 것을 만들어 낸 것
인스턴스 : 추상화 된 개념을 통해 실제 만들어진 녀석
위의 말이 어렵게 느껴질 수 있다.
좀 더 쉽게 풀어쓰자면, 자동차를 생산하는 공장에서 클래스가 자동차의 설계 도면이라면,
설계 도면을 통해 생산된 자동차가 인스턴스라고 생각하면 된다.
위의 질문은 면접에서도 자주 물어보는 단골문제이므로 각자의 경험과 매칭해서 이해할 수 있도록 한다.
반응형
'코딩 교육 기관 > 코드스쿼드 백엔드 레벨2' 카테고리의 다른 글
2018.09.24 (월) (1) | 2018.10.22 |
---|---|
2018.09.20 (목) (0) | 2018.10.22 |
2018.09.17 (월) (5) | 2018.10.17 |
2018.09.11 (화) (0) | 2018.10.10 |
2018.09.10 (월) (2) | 2018.10.10 |
댓글