이 강의는 프로그래밍 뿐만 아니라 기타 여러곳에서 이름을 어떻게 지으면 좋을지에 대한 강의였다.

이 강의실은 뒤에앉으니 스크린이 잘 보이지않아 좀 아쉬웠지만 내용자체는 굉장히 도움될만한 이야기가 많았다.


추후에 여기에 강의자료를 올려주신다고 함 → https://www.slideshare.net/devcatpublications


네이밍

이름을 붙이는 행위

대상을 이해해야 이름을 붙일 수 있다.

문제 풀기와 비슷.

문제 정의이기도 함


이름의 중요성

◎ 가독성이 올라간다.

→ 코드 이해가 쉽다. 무슨 파일인지, 어디에 쓰이는지. 작업 목표를 금세 파악할수 있다.

◎ 원활한 의사소통의 필수요소

◎ 대화의 맥락을 쉽게 파악할 수 있게 도와준다.

◎ 이름은 문제 영역을 대표함.

→ 변수, 함수, 클래스 이름은 코드를 이해하는 가장 큰 단서





좋은 이름의 특징

명확성 - 이름이 가리키는 대상이 뚜렷해야한다.

유일성 - 대상을 표현하는 가장 적절한 단어를 사용. 독창적이면 기억에 오래남는다.

일관성 - 개별 이름보다는 이름이 속한 시스템의 특징을 사용한다. 비슷한 것에 비슷한 이름.

영속성 - 유행에 민감하지않고 시간이 흘러도 뜻이 변하지


나쁜 이름의 특징

난해함 - 외우기 어려운 전문용어

의존성 - 순환 논리에 빠진 이름. 이름을 이해하려면 대상 밖의 개념을 알아야한다. (ex 논타겟)

비상식적 - 처음 들었을때 오해하기 쉽다. 특정 문맥에 맞춰서 의미를 재정의하는 것

비윤리적 - 비속어, 불쾌한 표현, 정치적으로 올바르지 않은 표현


이상한 이름의 특징

복합적 - 좋은것도 나쁜것도 아님

중독성 - 재미, 유머러스, 빠르게 전파된다





공통 네이밍 가이드라인

◎ 좋은 이름이 없다면 대상에 문제가 있다는 신호.

◎ 이름의 용도를 고려한다 

→ 분야마다 같은 이름이 다른 의미로 사용될 수 있다.

◎ 재미있고 기억하기 쉬운 단어를 사용한다

→ 사용성을 높일수 있게. 일상단어 중에서 고르는것도 좋다.

◎ 되도록 빨리 결정하기

→ 너무 고민하지말자. 증명단계에서는 대충 설정하자.

◎ 변경을 두려워하지 않는다.

→ 나쁜 이름을 방치하면 관리비용이 증가한다. 런칭 후에는 이름변경이 불가능하다.


코드 네이밍 가이드라인

◎ 불필요하게 약자를 사용하지 않는다.

→ 이름이 너무 길어지면 대상을 나눠보는 것도 괜찮다.

◎ 주석보다 이름이 중요하다

→ 주석을 달아야 이해되는 이름이면 이름을 바꾸자

◎ 문법을 지켜서 네이밍한다

→ 맞춤법이 틀리면 가독성과 신뢰성이 떨어진다. 검색또한 어려워진다

◎ 한글 이름을 고려할 것

→ 번역하기 힘들거나 잘 안쓰이는 영문보다 한글을 쓰는것이 낫다.

◎ 이름으로 불변성을 강조할 것

→  언제나 예측가능하고 최적화하기 쉽다.

◎ 반의어의 짝을 맞춰서 사용한다.

→ Begin을 썼으면 End를 사용하는것

◎ '실행'의미의 동사는 주의깊게 사용한다

→ 'Do'는 웬만하면 안쓰고. 

→ 'Perform'은 Task나 Action 클래스의 메서드의 경우

→ 'Execute'는 작업을 실행하는 경우

→ 나머지는 보통 'Run'을 사용한다.

◎ 상태변경 의미의 동사는 구별해서 사용한다.


기타 이야기 

'기획' 대신 '디자인'이라고 부르자.

'저희' 대신 '우리'를 사용하자.

개발자 ≠ 프로그래머


디자인 네이밍 가이드라인

◎ 이름은 디자이너가 정하는 것이 좋다.

투표로 정하면 무조건 망한다.

→ 디자이너는 제작 중인 게임에 대해 가장 잘 알고있는 사람.

◎ 직교성이 중요하다.

→ orthogonality : 한가지구성을 변경해도 다른 구성에 변화를 주지않는 성질

◎ 설명하기 어려운 대상은 코드네임을 사용하자.

→ 친숙한 단어를 사용하면 기억이 쉬워져 전달력이 올라간다.

→ 이름 붙이기 어렵다면 숫자나 기호 사용도 고려한다.

◎ 개발용어와 인게임 내 용어를 구분한다.

◎ 커뮤니티 용어는 주의해서 사용한다


어셋 네이밍 가이드라인

◎ 어셋에 임시이름 같은 것은 없다. 처음부터 잘 짓자

◎ 엔진 및 플랫폼의 특성을 고려

◎ 공백문자 주의

→ 이름에 쓰지말자

◎ 사전 순서를 고려

→ 중요한 단어를 앞쪽에 배치한다. 숫자의 경우 10이 넘어갈것 같으면 1번부터 미리 01로 사용.

◎ 스크립트 검사 자동화

→ 자세한 내용은 filename linter 구글링 ㄱㄱ

Posted by misty_
,