나/생각 주머니

원숭이도 실수할 수 없는 코드

Lou Park 2022. 9. 21. 04:55

새벽 3시에 모기물려서 깼는데... 슬랙에보니 앱 리뷰가 작살나있었다.

앱의 핵심기능이 작동되지 않았었고, 테스트 할때는 문제가 없었던 부분인데 왜이럴까...알아보니

기본값 문제였다.

 

어떤 기능의 기본값은 true로 가져와야하는데,  보통은 기본값이 false이니 명시적으로 true로 가져오겠다고 하지않으면 false가 되는거다.

 

내가 처음 이런식으로 사용을 했을땐 "설마 이걸 기본값 안주고 쓰겠어~" 했는데 진짜 써버렸다...

storage.getBoolean("is_something_enabled") // default = false

 

 

요즘 구글 검수도 매우매우매우매우매우 느려서 이 실수에 대한 타격이 더 크다.

아무리 바빠도 실수를 할 수 없게 만드는 코드가 중요하다. 

storage.isSomethingEnabled()
// = storage.getBoolean("is_something_enabled", default=true)

생각을 해봤는데...

항상 내가 원숭이정도의 집중력과 지능을 가지고 있다고 생각하고 코드를 짜려고한다.

 

내 치명적인 단점은 꼼꼼하지 못하다는 거다. 이 일하면서 나아지긴했지만서도 그냥 원숭이 수준이 맞다.

덜렁대는 본성을 고치는 건 아주 근본적인 해결책이지만, 이렇게 태어나버렸다! ㅋㅋㅋ

아무리 고친들 로봇은 못따라잡을거다.

 

그래서 시스템적으로 해결을 해보려고한다. 나를 실수할 수 없는 환경에 놓는다면, 실수할 수 없는 코드들 사이에있다면 내가 아니더라도 정말 원숭이가 와서 배포를 해도 안정적인 버전이 올라갈 수 있도록하는거다. 

 

중요한 업데이트를 두고, 실수가 잦았다. 

남은 2022년동안은 핫픽스를 안하는걸 목표로 해보겠다.