■ 트러블 슈팅 (Troubleshooting)
● 배경 :
- 포커 족보를 사용해서 pokerScore를 계산하는 과정에서 입력한 코드의 족보 점수대로 계산이 되질 않았습니다.
● 발단 :
- 전체적으로 디버깅, 테스팅을 하고 있는 도중에 점수 계산이 이상하다는 것을 발견했습니다.
● 전개
- 코드가 이론적으로는 맞게 나와야 하는데 실제로 프로그램을 실행했을 때는 다르게 나오고 있었습니다.
- VS Code 환경에서 중간 디버그를 사용해도 값이 이상하게 나온 다는 걸 발견했습니다.
● 위기
- 적은 코드대로라면 5장의 카드 중 최종 핸드에 따라 핸드에 해당되는 페어에서
가장 높은 수를 가져와야 하는데 실제 결과에서는 5장 중에 가장 높은 값을 가져오고 있었습니다.
● 절정
- 구글링도 해보고 AI 검색엔진으로도 검색해 봐도 해결이 안 돼서 포기하려는 찰나,
명령 프롬프트 창을 꾸며주는 라이브러리인 chalk에서 원인을 찾을 수 있었습니다.
- chalk을 제외한 체 프로그램을 실행했더니 프로그램이 정상적으로 작동이 되었습니다.
● 결말
- chalk 라이브러리도 string타입으로 포함되기 때문에 '원페어'와 chalk.green('원페어')는
서로 다른 string타입으로 프로그램이 인식했던 것이었습니다.
- 처음부터 족보에 대한 명칭을 변수로 저장하지 않고 그대로 '원페어', '투페어'로 사용한 것이
문제가 되었습니다.
- 가장 좋은 방법은 변수로 만들어서 재사용 할 수 있도록 작성하는 것이고,
이 프로그램에서 해결한 방법은 같은 형태의 string타입으로 작성하는 방법을 택했습니다.
'Project_xxx' 카테고리의 다른 글
| [Project_] FO - 1 (1) | 2024.12.03 |
|---|---|
| [Project_] Item-Simulator [Trouble Shooting] (0) | 2024.11.28 |
| [Project_] JSROUGE - 3 (0) | 2024.11.13 |
| [Project_] JSROUGE - 2 (0) | 2024.11.12 |
| [Project_] JSROUGE - 1 (1) | 2024.11.11 |