Solo-Project ( 가위바위보 ) 회고록

이준석·2023년 5월 2일
0

Project

목록 보기
1/7
post-thumbnail

1차 코드
2차 코드
3차 코드

앱 요구 사항

  1. index.html 을 열었을 때 prompt 창이 나오고, 아래와 같은 문구를 물어본다.
    가위바위보!
  2. Prompt 창에 "가위", "바위", "보" 를 입력한 후 결과를 alert 로 보여진다.

    결과 예시
    1. 이겼을 때) "당신이 이겼습니다. 상대방은 "" 를 냈습니다!
    2. 비겼을 때) "비겼습니다. 상대방은 ""를 냈습니다!
    3. 졌을 때) "당신이 졌습니다. 상대방은 "" 를 냈습니다!

  3. 만약 당신이 이기면 그대로 가위바위보는 종료되고 지거나 비겼을때 에는 다시 1번으로 돌아가 가위바위보를 진행한다.
    • 이때 상대방이 낸 랜덤의 가위바위보는 달라져야 한다.

1차 코드 수정 필요부분
1. 상대방(컴퓨터)이 낸 가위, 바위, 보의 확률이 일정하지 않음.
2. standard 라는 변수가 두번 초기화 됨 (좋지 않은 코드지만 틀렸다고 말할순 없음)
3. 전역 변수를 최대한 줄여야 함.
4. 가위바위보 결과가 나왔을 시, 상대방이 낸 것이 무엇인지 나오지 않음.
5. 중복된 코드와 함수에서 전혀 상관없는 값을 리턴하는 경우가 너무 많다.
1. alert, return a
6. 각 function들 (paper, rock, scissors) 이 올바르게 나누어지지 못함.
7. 졌을 때와 비겼을 때에 가위바위보가 계속 반복되어야 함.
8. 변수 a 같은 한글자 변수는 바람직 못하다. (예측 불가)
9. 세미콜론을 잊지말자.

2차 코드 수정 필요부분
1. 변수 이름은 camelCase 를 사용해야 한다.
2. while 문에 Battle 이 두번 실행되어야 할 필요가 없다.
3. result function 의 alert 가 많이 중복된다. 줄여야 할 필요성이 있다.
4. battle 안에는 switch 문을 써보자.
5. result function 에서 조건식이 비효율적이다.
6. result function 을 순수함수로 만들어보자.
7. 가위바위보의 질의 로직을 굳이 두번 적을 필요가 없다.
8. 세미콜론을 정상적으로 적어줄 필요성이 있다.

소감

처음으로 무언가를 만들어보았다.
내가 생각한 것을 직접 구현하기 위해 고민하고 생각하는 시간도 너무 재밌었다.
그리고 원하는 대로 동작했을 때의 기분은 상당했다. ㅎ

0개의 댓글