‘인지 부하’가 SW 개발에 미치는 영향…"본질에 집중해야"
||2024.12.27
||2024.12.27
[디지털투데이 AI리포터] 소프트웨어 개발사 잉크테크의 최고기술책임자(CTO)인 알템 자킬린이 '인지 부하'(cognitive load)가 소프트웨어 개발에 미치는 영향을 설명했다.
26일(현지시간) 온라인 매체 기가진에 따르면 인지 부하란 개발자가 작업을 완료하기 위해 얼마나 많은 생각을 해야 하는지를 의미한다.
자킬린은 "이를 줄이는 것이 중요하지만, 소프트웨어 개발의 핵심적인 부분의 인지 부하는 바꿀 수 없기 때문에 필요 이상으로 난해하게 작성된 코드와 같이 본질과 무관한 부분에 집중해야 한다"라고 조언했다.
또한 자킬린은 "개발자들 사이에서 '메소드는 15줄보다 짧아야 한다', '클래스는 작아야 한다' 등의 암묵적인 룰이 잘못된 경우가 많다"라고 지적했다. 그는 "작은 모듈이 많으면 각 모듈의 역할뿐만 아니라 상호 작용을 모두 고려해야 하기 때문에 구현하는 기능에 비해 복잡하고 인지 부하가 커지기 때문"이라며 "정보를 숨기고 인터페이스를 단순하게 유지하는 것이 중요하지만, 작은 모듈은 숨길 수 있는 정보의 양에 한계가 있다"라고 설명했다.
자킬린은 이러한 인지 부하 문제에 경종을 울리는 몇 가지 격언을 소개했는데, 첫 번째는 컴퓨터 과학자 존 오스터하우트(John Osterhout)의 "최고의 컴포넌트는 강력한 기능을 제공하면서도 간단한 인터페이스를 가진 것"이라는 명언이었다.
두 번째 격언은 '바둑의 아버지'로 알려진 소프트웨어 엔지니어 롭 파이크(Rob Pike)의 "선택의 수를 제한하면 인지적 부담이 줄어든다"는 말이었다.
자킬린은 "좋아하는 언어에 새로운 기능이 출시되면 사용해보고 싶지만, 기능이 너무 많으면 한 가지 기능을 사용하기 위해 몇 줄의 코드를 작성하는 데 30분이 걸리기도 한다"라며 "이는 시간 낭비일 뿐만 아니라 나중에 다시 시작할 때 그 사고 과정을 다시 시작해야 하는 번거로움도 있다"라고 말했다.