네이밍
💡 많은 부분에서 에너지를 쓰는 부분이다. 함수나 변수 이름을 작성할 때 고려해야할 점을 알아보자.
Convention (네이밍 문법)
권장사항으로 특정 언어를 사용하는 개발자들간 암묵적인 약속이다.
- snake_case - 띄어쓰기 대신 언더바를 사용한다. (python, ruby 등) 
- camelCase - 띄어쓰기 대신 대문자르 사용하며, 첫 시작은 소문자로 작성한다. (Swift, Java, JS 등) 
- PascalCase - 띄어쓰기 대신 대문자로 사용하며, 첫 시작을 대문자로 작성한다. - 대부분 클래스 네이밍 시 사용한다. 
- kebab-case - 띄어쓰기 대신 -를 사용한다. (HTML Element) 
변수와 상수
- 명사 또는 형용사로 작성한다. (Bool의 경우 형용사로 작성) - var userData: User // 명사 var isValid: Bool // 형용사
함수와 메서드
- 동사 혹은 형용사로 작성한다. - 행위를 취하고, 어떤 비즈니스 로직을 처리하기 때문에 - func sendData() { } // 동사 func userIsValid() -> Bool { } // 형용사형태
클래스
- 명사로 작성한다. 역할을 수행하는 주여 책임을 가지는 이름 - class Client { } class User { }
Tips
- 항상 구체적이고 명시적으로 적어야한다. - 혼자 작성할 땐 나만 이해하면 되므로 암시적으로 작성해도 되지만, 협업시 반드시 명시적이고 구체적으로 적자. - **// as-is** let dt = "20210901KST" for i in data { // code } // to-be let dateTimeWithTimezone = "20210901KST" // 구체적이고 명시적으로 for product in products { // i 대신 명시적인 인자 확인 // code }
- 불필요하거나 애매한 표현은 제거한다. - // as-is let productWithPrice = Product("아이폰", 3000) let theMessage = 1 // 불필요한 관사 포함 let nameString = "jiwon" // 변수명에 타입을 부가적으로 표현함 // to-be product = Product("아이폰", 3000) message = 1 name = "jiwon"
기억하자. 짧고 애매한 표현보다는, 길더라도 직관적인 표현이 더 낫다.
Last updated