코드스테이츠 2주차 일정을 보니 이틀 뒤에 계산기 기능을 구현하는 시간이 있어 혼자서 미리 생각해보는 시간을 가져보았다.
💬 계산기 기능 분석하기
계산기에는 어떤 기능들이 있어야 할까?
1 | 1. 숫자는 0부터 시작한다. |
🙋🏻♂️ 저장해놔야 하는 값들이 있을까?
: 현재 값, 이전값, 연산자 그리고 화면에 출력되는 값을 변수로 선언해놓고 계속해서 변경해야 한다.
고민을 하고 있는 부분 🤔
상태가 변경되면 re-rendering을 한다
라는 생각을 가지고 프로그래밍하고 싶은데 어떤 것을 상태로 관리해야 할 지 고민이 되었다. 저장해놔야 하는 값들이 모두 상태라면 너무 많은 리렌더링을 하는 것은 아닌가 싶고, 리렌더링을 해야 하는 시점이 결과를 연산한 값이라면 상태는 화면에 출력될 값밖에 없다는 뜻인데 그렇다면 이것을 상태로 관리해야 할까? 라는 생각이 들었다.
또 하나 고민을 해야 할 부분은 함수는 하나의 역할만 해야 한다
라는 것이다. 함수를 어떻게 분리할 것인지도 고민을 해야할 것 같다. 현재로서는
1 | // 화면에 출력되는 값을 업데이트하는 함수 |
이렇게 만들어야하지 않을까 미리 생각해보았다. (물론 코드를 짜기 시작하면 많은 것들이 변할테지만..🥲)
🧮 생각해보면서 느꼈던 점
알고리즘에서 의사코드를 작성하듯이 프로그래밍을 하기 전에 미리 큰 틀을 생각해보는 것도 좋은 것 같다. 당장 생각나는 것들부터 작성하기 시작하면 이후에 수정해야 할 부분들이 한 두가지가 아니라는 것을 경험했기 때문이다.
내일은 반복문과 조건문 연습문제를 페어와 함께 풀어야 하는 날이니까 계산기는 잠시 제쳐두고 페어에 집중해야지.