Readable Code: 읽기 좋은 코드를 작성하는 사고법 - Section 5 : 코드 다듬기

모깅·2024년 9월 1일
post-thumbnail

주석의 양면성



  • 초기화 할 때 수정해주자.


  • 무한 루프는 탈출 조건등을 잘못 하게 된다면 위험해지기 때문에 좋지 않은 코드일 수 있다.


  • actOnCell에서 상태를 변경해주면 while 조건에 의해서 탈출하기 때문에 if문들이 while문 안에 있을 필요가 없게 된다.


  • 현재 Minesweeper는 GameBoard한테 물어보고 GameStatus를 변경하고 있다.
    -> 사실 게임 진행, GameStatus에 대한 의사 결정 권한이 GameBoard한테 있다.
    -> 따라서 GameBorad가 GameStatus를 관리하는게 좋아보인다.

  • GameBoard가 만들어 질 때 초기화 하자.

  • 추상화 레벨 맞춰주자.


  • Gameboard로 이관시키자.
  • FlagAt과 게임 상태를 체크하는 것은 하나로 볼 수 있으니 FlagAt 메서드 안에 로직을 넣어주자.


  • 오픈을 하고 나서 체크해주자.

  • 코드를 수정하기 전에 좀 더 추상화 해줄 수 있다.
    -> if문 다 모르겠고 그냥 Open해달라고 요청하자.
    -> OpenAt() 이름이 같으니 기존에 있던 OpenAt() 메서드 이름을 OpenOneCellAt()으로 수정하자.


  • GameBoard한테 물어보자.


변수와 메서드의 나열 순서

패키지 나누기

기능 유지보수하기 (1) - 버그 잡기

기능 유지보수하기 (2) - 알고리즘 교체하기

IDE의 도움 받기

키워드 정리

profile
멈추지 않기

0개의 댓글