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

주석의 양면성


















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


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

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



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






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



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








변수와 메서드의 나열 순서






패키지 나누기



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

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



IDE의 도움 받기


키워드 정리
