개발을 하다보면 항상 버그와 마주친다.
그런데 마음이 급할 때, 관련 버그에 대한 지식이 너무 부족할 때 (특히 신입 때) 문제를 '제대로' 해결하는 것이 아니라 이것저것 시도하면서 우연히 해결하게 될 때가 있다.
나는 이런 사람이었다.
하지만 이런 습관은 정말 좋지 않은 습관이다.
명확한 문제 파악과 그에 맞는 해결 방안을 도출하는 것이 아니라, '우연히' 해결하는데 의지할 수밖에 없기 때문이다.
이런 해결 방식으로는 항상 '불안감'을 가질 수밖에 없다. 우연에 기대야하기 때문이다.
최근 carousel 라이브러리를 사용하는데 문제가 있었다. carousel의 내부 태그 높이에 따라 높이 조정이 되지 않는 문제가 있었다.
dynamicHeight라는 속성을 통해서 높이를 자동으로 조절할 수 있도록 설계되어있는 라이브러리임에도 불구하고 높이가 제대로 조정되지 않았다.
그래서 그 문제가 무엇인지 소스코드를 뒤져보았다.
알고보니 dynamicHeight의 기준은 img 태그였다. img 태그의 높이에 맞추도록 코드가 짜여있었다. 나는 carousel 내부에 div 태그를 사용하고 있었고, 그 div 태그의 height에 맞게 조정되기를 원했다.
문제의 원인을 파악하고 나니 해결 방법을 명확하게 결정할 수 있었다. 내부 소스코드 자체를 바꿀 수는 없으니 새로운 라이브러리를 사용하는 것이 효율적일 것이라고 판단했다. (물론 더 좋은 방법이 있을지도 모른다)
그리고 같은 문제가 발생하지 않도록 새로운 라이브러리의 소스코드를 미리 파악했다.
사실 명확한 원인 파악은 문제 해결 과정에서 너무나도 당연한 과정이다. 그러나 개발 지식이 부족한 상태에서는 명확한 원인 파악을 하기 전에 '당황'을 하고, 급하게 해결하고 싶은 마음이 들곤 한다.
하지만 이제는 더 이상 그런 방법은 통하지 않는다. 더 나은 개발자가 되기 위해선 항상 '명확한 원인 파악'을 먼저 하도록 노력해야 한다.