개발 정보

개발 과정에서 발생하는 오류의 80퍼센트는 오타가 아닐까?

Razelo 2022. 1. 12. 14:32

오전에 잠시 프로젝트 코드를 손볼일이 있어서 리팩토링을 하는 중이었다. 

하던 와중에 일부 코드에 많은 변경을 하게 되었는데 이후에 자꾸만 에러가 나서 이것저것 찾아보려고 했던 참이었다.

그런데 아무리 생각해도 에러가 나는 것이 이해가 가지 않아서 다시 꼼꼼히 살펴보니 오타를 발견했다.

 

어째 가만보면 혼자서 묵묵히 코딩하면서 발생하는 오류의 80퍼센트는 오타이지 않을까 싶다. 물론 완성된 결과물로 내놓고 난뒤에 발생하는 오류에서는 아니겠지만 그게 아니라 혼자서 만들어가는 과정 중에 맞닥뜨리는 오류를 말할때라면 정말 맞는 말인것 같다. 

 

예전에 이런 식으로 오타가 있을 거라는 생각을 하지 못하고 하루종일 빙빙 돌고 돌아서 말그대로 엄청난 삽질을 했던 경험도 여러번 있었다.(진짜 말그대로 지옥이었다.) 조금은 나아졌다는 생각이 들지만 어째 결국 소프트웨어라는 분야에서 휴먼 에러가 미치는 영향은 정말 지배적이라는 생각이 든다. 

 

사람이 완벽하지 못하기에 피할 수 없는 에러인 것이다. 에러는 사람이 만든다. 

 

예전에 그런 글을 읽은 적이 있다. 

책을 출판하기 전에 여러 사람이 오랜 기간을 두고 책을 검토하면서 오타를 찾아내고 문맥상 오류를 찾아내기도 하고 그외의 잡다한 검사를 거친다고 했다. 그리고 그 중에서 가장 어려운 것이 바로 오타를 찾아내는 것이라고 했다. 분명 완벽하다고 생각해서 마음 놓고 다시 읽어보면 또 오타가 발견되고 정말로 이제야 끝났다는 마음에 다시 한번 검수해보면 또 오타가 발견된다고 한다. 

 

인간은 문장을 읽어내려갈때 빠르게 단어 구성을 살피며 읽어나간다. 이러한 패턴으로 읽기 때문에 이러한 상황이 벌어지는 것은 아닌지 추측해볼 수 있을 것 같다. 

 

그리고 정말 재밌는 사실은 위에서도 말했지만 완벽하다고 생각해도 다시 에러가 발생할 수 있다고 했는데 방금 글을 쓰면서 이 사실을 또 한번 검증할 수 있었다. 예시를 들기 위해 에디터를 켰는데 어째 어색한 단어가 있어 보니 client_id를 cliend_id 라고 잘못 썼다. 심지어 오전에 이 에러때문에 카카오 OAuth 관리자창에 접속해서 해결하려고 이것 저것 뒤져보기까지 했는데 그때 발견못한 변수가 또 하나 있었던 것이다. 발견못한 이유는 아래의 해당 string 에 concat 해줄때 뿐만 아니라 필드에도 cliend_id 라고 선언되어있기 때문에 돌아가는데에는 문제가 없었던 것 같다.

 

긴급하게 수정해주었다. 

 

 

어째 내가 급하게 코드를 짜는 습관이 있는 것은 아닌지, 아니면 코드를 꼼꼼히 살피는 능력이 조금 부족한 것인지 둘중 뭐가되었든 꼭 고쳐야할 습관이라는 생각을 하게 되었다. 그런데 어째 가끔은 내가 오타를 내고 싶지 않아도 그냥 손가락이 움직이는데 즉 코드에서 자주 쓰이는 상용어구나 일상생활에서 자주 쓰이는 상용어구들을 나도 모르게 빠르게 코딩하면서 타이핑하는 경우가 있다. 나중에서야 읽어들이지 못한다는 등의 오류를 발견하면 그제서야 내 손가락이 나도 모르게 편한대로 빠르게 타이핑하면서 발생한 문제라는 것을 인지하게 된다. 

 

 

 

반응형

'개발 정보' 카테고리의 다른 글

2022 기술 목표  (0) 2022.01.17
powershell과 cmd의 차이  (0) 2022.01.15
백엔드 면접 질문 리스트  (0) 2022.01.09
프로그래밍 언어론 정리 블로그  (0) 2021.10.17
강사님 강연 정리내용  (0) 2021.10.08