Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions 9장/상범.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 9장

어떤 코드가 인지부하를 많이 일으키며, 인지적으로 쉽게 처리하기 위해 코드를 개선할 수 있는 방법을 보자~

- 구조적인 혼란 (코드 스멜)
- 내용의 혼란 (언어적 안티패턴)

## 코드 스멜이 인지 부하를 초래하는 이유

코드 스멜이 있다고 오류가 반드시 있는 것은 아니지만, 코드 스멜을 가지고 있으면 오류가 있을 가능성이 높다고 알려져있다

## 코드 스멜이 인지 과정에 악영향을 미치는 방식

1. 긴 매개변수 목록, 복잡한 스위치 문 => 작업 기억의 용량 초과
2. 거대한 클래스, 긴 메서드 => 효율적인 청킹이 불가능
3. 중복 코드 => 잘못된 청킹
구조가 비슷한 코드를 읽으면, 같은 역할을 하는 코드라고 오해할 수 있음

## 나쁜 이름이 인지 부하에 미치는 영향

혼동되는 이름 등을 가진 언어적 안티패턴도 인지 부하를 일으킬 수 있음

isValid라는 변수가 실제로는 정수형을 가지거나, getCustomers 라는 메서드가 불리언 값을 반환하는 경우


언어적 안티패턴은 두가지 이유로 인지적 문제를 발생시킨다고 함

- 충돌되는 이름을 읽으면 잘못된 정보를 LTM에서 가져올 수 있음
- 중복코드처럼 잘못된 가정을 기반으로 잘못된 청킹이 발생할 수 있음