프로젝트 중 아이템 제작에 관하여 코드 구현시도를 했다.
아이템 제작은 재료들을 제작창에 올리면 해당재료들에 맞는 레시피가 나와 제작하는 방식이다.
처음에는 예외처리로 레시피를 판별해서 재료들에 맞는 레시피를 구하는 방식을 생각했다.
그러나 아래와같이 엄청 길고 노가다 하드코딩이 나와 하다가 중간에 이건 아닌것 같아 멈추었다.
그래서 찾아보다가 아이템id를 키값으로 재료들의 id값을 string으로 join해서 키값으로 만드는 것을 생각했다.
위 방식으로 하니 코드가 훨씬 간단하게 줄어들었다. 아직 미완성이다.
레시피들을 받아와서 재료들을 모두 더한 string값으로 만들어서 Dictionary로 만들어서 저장하고
그 키값과 받아오는 재료들의 id들을 다 string값으로 만들어서 키값을 만들고 레시피의 Dictionary에 포함되는지 확인하는 로직이다.
이렇게 하고 튜터님에게 여쭈어보니 이 방식으로 해도 괜찮을듯 하지만 이렇게 되면 메모리를 더 잡아먹을수 있다고하셨다. 그리고 다른 방법을 알려주셨는데 노드기반으로 작성해보는것을 말씀해주셨다. 노드 기반으로하면 Dictionary를 추가적으로 작업하지 않아 메모리도 더 효율적일 것이라고 말씀해 주셨다. 그리고 일단 이코드를 완성하고 와서 한번 보여달라고 하셨다.
그래서 내일 코드를 작성하고 찾아갈 예정이다.
추가적으로 팀원들과 마무리 회의중에 아이템 사용관련 코드를 보여줬는데 switch case문이 너무 길다는 느낌을 받았다고 알려주셨다. 그래서 말씀해주신 의견이 데미지,힐,버프,디버프 등 동작을 따로 자식클래스로 만들어서 useItem에 넣어서 하는게 어떠냐고 알려주셨다.
내일 아이템 사용 코드부터 수정후에 제작을 마저 작성하고 튜터님을 찾아가서 여쭈어볼 예정이다.
그리고 팀원들이 적극적으로 소통해주고 의견을 많이 말씀해주셔서 좋은 아이디어를 얻고 코드작성에 좋은 영향을 받아 실력이 향상하고 있는 것 같다.
'개발 TIL' 카테고리의 다른 글
내일배움캠프TIL 56일차 정리 (0) | 2025.04.11 |
---|---|
내일배움캠프TIL 55일차 트러블 슈팅 (0) | 2025.04.10 |
내일배움캠프TIL 53일차 정리 (0) | 2025.04.08 |
내일배움캠프TIL 52일차 정리 (0) | 2025.04.07 |
내일배움캠프TIL 51일차 최종프로젝트 준비 (0) | 2025.04.04 |