내가 원하는대로 동작하지 않을 때 확인해야할 것들
프로그램마다 기능이 다르고, 객체 간 협력의 맥락이 다르겠지만 공통적으로 확인해볼 만한 것들은 분명히 있다.
이것도 일종의 추상화인가? 여튼 적어놓는다. 미래의 내가 더 발전하기를.
[ ] config가 잘 설정되어 있는지? localhost, 각종 api key나 secret들이 잘 들어있는지? 환경변수에 오타는 없는지?
[ ] 실행하고자 하는 서버와 연관된 다른 서버 등이 동작하고 있는지?
[ ] db에 기본적으로 들어가야 할 데이터(더미든 뭐든)가 잘 들어가 있는지?
[ ] db 마이그레이션 확인.
[ ] 객체가 자신의 책임을 수행하기 위해 필요한 정보를 놓치지 않고 갖고 있거나 가질 수 있는지?
[ ] 서버에 에러 로그가 안 찍힌다고요? 그럼 애초에 정말 서버로 요청이 오긴 온 것인지?
돌고 돌아서
자신이 무슨 일을 하고 있는지 명확하게 알고 있어야 한다.
지금 내가 고치는 코드가 어디에 영향을 주게 되는지, 어떻게 사용되고 있는지 확실하게 이해해야 한다.
간단한 버그를 고치는데 A라는 파일만 고치면 될 거라 처음에 생각했고,
그러다 좀 더 생각을 해보니 B라는 파일도 고쳐야 될 것 같아서 B라는 파일도 고쳤다.
결과적으로는 A만 고치면 되는 것이었다.
얼핏 생각하기에는 B도 고쳐야할 것 같지만, 코드를 조금만 더 살펴봤다면
고쳐야 할 부분은 A밖에 없다는 걸 금방 알았을 거다. 정말 몇 줄만 더 봤으면.
IDE 얼마나 좋냐, 검색하면 어디서 사용하고 있는지 다 나오고, 소스코드 타고 들어가는 것도 당연히 다 되고
어떤 버그를 고칠 때 내가 확인해야 하는 것이 무엇인지를 명확하게 알고,
빠르게 생각을 검증한다음 테스트를 해야한다.
'일상' 카테고리의 다른 글
신입 프로그래머가 잘 성장할 수 있는 4가지 방법 (0) | 2020.06.18 |
---|---|
[단상] 5/15 단상 (0) | 2020.05.15 |
[단상] 5/6~5/7 생각 정리 (0) | 2020.05.07 |
달의하루 염라(Karma) 뮤비 해석 (개인적 추측) (1) | 2020.05.05 |
[단상] 코로나 바이러스 이후의 변화 (0) | 2020.04.21 |