2장. 의미 있는 이름

ssu_hyun·2023년 9월 19일
0

Clean Code

목록 보기
3/12
  • 의도를 분명히 밝힐 것
    • 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.
    • 코드의 함축성 : 코드 맥락이 코드 자체에 명시적으로 드러나야함
      // Before
      public List<int[]> GetThem()
      {
        List<int[]> list1 = new List<int[]>();
        foreach (int[] x in theList)
        {
            if (x[0] == 4)
                list1.Add(x);
        }
        return list1;
      }
      // After
      public List<int[]> GetFlaggedCells()
      {
        List<Cell> flaggedCells = new List<Cell>();
        foreach (Cell cell in gameBoard)
        {
            if (cell.isFlagged())
                flaggedCells.Add(cell);
        }
        return flaggedCells;
      }
  • 그릇된 정보를 피할 것
    • 약어 사용도 주의할 것
    • 일관성이 떨어지는 표기법은 그릇된 정보다.
  • 의미 있게 구분하라
    • 이름이 달라야 한다면 의미도 달라져야 한다.
    • 읽는 사람이 차이를 알도록 이름을 지어라.
    // 불용어보다 source, destination이라는 명확한 인수 이름을 사용한다면 코드 읽기가 훨씬 더 쉬워진다.
    public static void CopyChars(char[] a1, char[] a2)  
    {
      for (int i = 0; i < a1.Length; i++)
      {
          a2[i] = a1[i];
      }
    }
  • 발음하기 쉬운 이름을 사용하라
  • 검색하기 쉬운 이름을 사용하라
  • 똑똑한 프로그래머와 전문가 프로그래머 사이에서 나타나는 차이점 하나만 들자면, 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다. 전문가 프로그래머는 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다.
  • 재미난 이름보다 명료한 이름을 선택하라. ... 의도를 분명하고 솔직하게 표현하라.
  • 프로그래머는 코드를 최대한 이해하기 쉽게 짜야 한다. 집중적인 탐구가 필요한 코드가 아니라 대충 훑어봐도 이해할 코드 작성이 목표다.

0개의 댓글