블로그

윤대

[강의 정리] - 컨벤션 교정 - {Java/Spring 주니어 개발자를 위한 오답노트}

해당 글은 김우근 강사님의 "Java/Spring 주니어 개발자를 위한 오답노트"를 수강한 내용을 바탕으로 정리한 글입니다!!!강의 링크!!컨벤션이란?Convetion은 사전상 관습을 의미한다. 즉, 코딩에서 컨벤션은 문맥상 코드를 작성할 때 지켜야하는 관례나 관습을 통칭한다. 컨벤션을 지킴으로써 읽고, 관리하기 쉬운 코드를 작성할 수 있게 된다. 이는 개발자들의 협업을 용이하게 하고, 유지 보수를 쉽게 한다.Java 표기법자바의 표기법은 아래와 같다.변수 이름 : camelCase함수 이름 : camelCase클래스 이름 : PascalCase패키지 이름 : alllowercase상수 : UPPER_SNAKE_CASE변수의 타입의 약어로 변수명을 시작하는 표기법을 헝가리안 표기법이라 하는데, 이는 과거 IDE가 좋지 않은 시절의 산물임으로 사용하지 않는다.변수명 작명 규칙줄여 쓰지 않기 줄여 썼을 때, 다른 의미의 단어임에도 축약어가 같은 경우가 존재한다. 그럴 경우, 변수명만을 보고 해당 객체가 어떤 동작을 할 지 알 수가 없다.ex) webSocket -> ws , webServer -> ws단, Identifier -> Id , application -> app 과 같이 관례상 굳어져 축약어를 사용해도 무관한 경우가 존재한다.축약어에 대한 관례코딩이 아닌 글을 쓸 때, 축약어는 모든 글자를 대문자로 쓰는 것이 관례다. 그러나 코딩에서 축약어를 모두 대문자로 쓰게 되면 상수와 구분이 어려워지고, 축약어로 변수명을 시작할 경우 첫글자를 소문자로 해야한다는 규칙과 충돌한다. 따라서, 축약어도 일반 명사로 보고 같은 규칙을 적용한다.Util이라는 이름 작명 지양하기Util이 붙게되면 모든 static 메소드가 모인다. static이 모였다고 해서 반드시 Util인 것이 아니다. 의미에 맞는 이름을 선정해야 한다. (이 부분은 경험이 부족하여 머리로는 이해하였으나, 감각적으로는 이해되지 않았다.)get vs findget -> return type이 T인 경우find -> return typd이 Optional<T>인 경우get 남발하지 않기get은 객체가 가지고 있는 필드값을 그대로 가져올 때만 사용한다. 추가적인 연산을 하고 가져온다면 get이 아닌 적절한 변수명을 짓도록 하자.롬복 getter setter 지양하기getter는 캡슐화를 저해하고 (private로 숨겨둔 필드가 모두 드러난다.) setter는 객체를 불변하지 않게 한다.start end 값 설정하기메소드의 파라미터로 시작값과 끝값을 받는다면, 시작값은 자신을 포함하고 끝값은 자신을 포함하지 않는다. 강의중 몰랐던 단어 간단히 집고 가기!일급 컬렉션일급 컬렉션 -> Collection을 Wrapping 하면서 그 외의 다른 멤버 변수가 없는 상태<ex>public class Cars { private List<Car> carList; public Cars(List<car> carList) { this.carList = carList; } }일급 컬렉션을 사용하면 얻는 이점비지니스에 종속적인 자료구조Collection의 불변성을 보장상태와 행위를 한 곳에서 관리이름이 있는 컬렉션

백엔드JavaConvention