ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래밍 문법 빠르게 배우기 & 복잡한 코드 읽는 방법
    클린 코드(Clean Code)/프로그래머의 뇌 2024. 1. 8. 00:01
    728x90

    프로그래밍 문법을 기억해야 하는 이유

    System.out.println()

    우리가 흔히 모두 알고 있을 법한 자바를 처음 배웠을 때 배운 출력 문법입니다.

    우리는 모든 문법들을 기억하고 있지 않습니다.

    문법은 검색을 통해 찾을 수 있으니 문법에 대한 지식을 갖는 것은 중요하지 않다고 생각할 수 있습니다.

     

    하지만 코드를 효율적으로 이해하기 위해서는 장기기억 + 단기기억이 필요하고 이때 문법을 기억하게 되면 장기기억 측면에서 도움을 받을 수 있습니다. 

     

    또한 업무를 수행하다가 다른일을 하고 업무로 돌아가는 경우로 약 15분 정도 걸린다는 연구결과도 존재합니다.

    코드를 읽다가 문법을 찾게 되는 경우가 이런 경우에 해당하는 것 같습니다.

     

    어떻게 하면 문법을 오래 기억할 수 있을까?

    마법 같은 일은 없으며 오랫동안 학습한 만큼 더 오래 기억합니다.

    즉, 오랜 간격을 두고 학습을 수행해야 합니다.

     

    단순히 보는 것보다 의식적으로 외우려고 노력하는 것만으로도 평균적으로 10% 더 기억할 수 있다.

     

     

    코드가 너무 복잡한 경우

    장기기억 + 단기기억의 부족으로 코드를 읽을 때 혼란이 발생할 수 있습니다.

    하지만 코드 자체가 너무 복잡한 경우에도 코드를 읽을 때 혼란이 발생합니다.

     

    이런 경우에는 코드를 읽다가 인지과부화에 걸리게 됩니다.

    단기기억과 유사해보이지만 단기기억은 단순히 전화번호와 같은 정보를 잠시 저장하는 반면 작업기억공간은 계산 같은 정보처리를 담당합니다.

     

    인지과부하를 줄여보자

    리팩터링을 통하여 반복적인 코드를 추상화하거나 가독성을 높여볼 수 있습니다.

     

    어떤 메서드가 최초로 호출되는 위치로부터 가깝게 정의되어 있다면 코드의 가독성이 좋아질 수 있습니다.

    하지만 사람마다 지식에 따라 코드의 이해도가 다르고 주요하게 생각하는 부분들도 다릅니다.

    이에 따라 리팩터링은 오히려 역으로 코드의 유지보수성을 더 낮추거나 가독성을 낮추는 결과를 초래할 수 있습니다.

     

    또한 나에겐 익숙한 문법이 동료개발자들에겐 익숙하지 않은 문법일 수 있습니다.

    무엇이 읽기 쉬운지에 대서는 가지고 있는 지식에 따라 다르기 때문에 부끄러운 일이 아닙니다.

    나에게 친숙한 코드로 리팩토링해서 코드를 읽은 이후 다시 원래 상태로 되돌리는 방법도 있습니다.

    댓글

Designed by Tistory.