변수명/함수명 짓기

박민주·2021년 11월 23일
2

Coding

목록 보기
1/1

6월부터 개발해 온 게임 프로젝트가 이제 점점 커져서
더 여러 사람과 협업할 일이 생겼다

이전에는 혼자 프로그래밍을 하다보니까
변수명이나 함수명도 어떻게보면 막? 지었던 것 같다

내 코드에 대한 피드백을 들어보니 전에는 보이지 않던 부분들이 보여서 참 좋았고 반성했다

배운 점

1. 변수명 규칙 통일하기

2. 함수명은 명확하게 짓기

3. 같은 성질의 상수는 enum으로 묶어 사용하기

/* 예시 */
const int LEFT = 0;
const int RIGHT = 1;
const int UP = 2;
const int DOWN = 3;

/* 위 상수들은 아래와 같이 enum으로 작성할 수 있다 */

enum Direction
{
    LEFT,
    RIGHT,
    UP,
    DOWN
}

기능 구현이 우선이었고 혼자 코딩하다보니 정리가 정말 안되어있다ㅜ
2000줄은 되는 플레이어 코드와 다른 여러 코드들을
다시 리팩토링하고 있는데 너무 오래걸리는 거 같아서 후회하고 있다
Clean Code에서도 깨끗하지 못한 코드는 오히려 개발 속도를 늦춘다고 했는데 매일 그 말이 떠오른다

앞으로는 Clean Code를 위한 노력도 꼭 필요할 거 같다

변수명 짓기

1. is 용법

  • is + 명사 : "~인가?"
  • is + 현재진행형(-ing) : "~하는 중인가?"
  • is + 형용사 예시 : isAvailable "유효한가?"
    -> is + 동사원형은 하면 안된다고 함

2. 조동사 용법

  • can : "~할 수 있는가?"
  • should, will : "~해야 하는가?", "~할 것인가?"

3. 동사원형 용법

  • supports ~을 지원하는가?
  • includes ~을 포함하는가?
  • shows ~을 보여줄 것인가?
  • allows ~을 허용할 것인가?
  • accepts ~을 받아주는가?
  • contains ~을 포함하고 있는가?
    -> 3인칭 단수로 써야한다고 함

함수명 짓기도 조금 더 알아보았다

함수명 짓기

  • 특히 맨 앞의 동사 부분이 가장 고민되었는데 아래 목록들이 도움될 거 같다
  • 그리고 여러 단어를 번갈아가면서 사용하는 것보다 같은 행동에 대해서는 통일하는 게 좋다고 한다
    • Load/Fetch + Data
    • Get + Something
    • Perform/Request + Something
    • Create/Make + Something
    • Handle + Something(Event/Data/Response/..)
    • Populate/Inflate + (View/Screen)
    • Authenticate/Authorise + User
    • Init/Setup + Views
    • Calculate + Something
    • Clear + Something

출처 및 참고

https://soojin.ro/blog/naming-boolean-variables
https://m.blog.naver.com/vicfaith/221166340935

profile
Game Programmer

0개의 댓글