오늘은 코드 구조에 대해서 고민해봄


특히 카드 덱에 카드를 추가하는 과정을

리스트 + append 로 추가 하는 게 더 좋을 거 같다는 갤럼 의견을 적극 참고했고


리스트 안의 리스트로 처리된 카드 뽑기 과정과는 다르게

이젠 일단은 클래스를 시작하기 전 for loop 로 카드를 만들었음


또 카드 덱 리스트에 카드들을 추가할 땐

52장의 카드를 뽑을 땐 random 으로 생성한 난수와 리스트 인덱싱을 결합해 추출,

카드를 실제로 덱으로부터 뽑을 땐 pop으로 뽑는 동시에 리스트로부터 삭제를 해서

이전의 sum 등을 통한 꼼수를 거쳐서

이중 리스트를 풀어내는 과정도 겪을 필요 없이

코드를 좀 더 간편하게 짤 수 있었음


다만 이렇게 하려면 카드의 숫자 부분도 숫자(integer) 가 아닌 문자(string)로 받아야 해서

카드 벨류에이션을 하는 과정에서 조금 미개한 코드가 나왔음



우욱 씹


ㅡㅡ


음 사실 오늘은

오류 뿜는 거랑, 예외 처리를 어떻게 하면 막을 수 있을지 궁리한 시간이 대부분인듯


예상대로 이전에 짠 코드를 보니 개판이었음

(지금도 개판이긴 하지만 조금 더 나아졌다고 생각한다)


ㅡㅡ


이제 진짜 해결해야 할 과제

'어떻게 객체지향적으로 설계할까' 를 공부할 수 있는 단계까지 옴

코드는 완성이 되었으니깐!


다행히도 객체지향적으로 블랙잭을 설계한 사람이 있어서 (블로그 링크, 클릭)

이 구성을 참고하여 다시 한 번 코드를 작성해 보려고 함


비록 자바로 작성된 코드이지만, 객체지향적인 코드인 건 읽을 수 있을테니

적극 참고해서 다시 한 번 더 깔끔해 진 코드를 완성해 보려고 함


ㅡㅡ


내일도 출근이지만 설날 연휴만 바라보면서 힘낸다

프갤러들도 파이팅