- 문법의 정확성
- 오타 없이 코드를 작성한다
- 들여쓰기를 올바로 지켜서 작성한다
- 규약의 정확성
- 함수나 클래스를 정의에 부합하게 사용한다
- 사용하고 있는 함수나 클래스의 문서를 찾아서 읽어본다
- 외부 라이브러리의 문서를 읽고 활용하여 코드를 작성한다
- 절차적 표현 능력
- 원하는 바를 절차적 단계로 세분화하여 표현하지 못한다
- 복잡한 로직을 작성할 때, 먼저 의사 코드를 작성하면서 절차적으로 표현한다
- 의사 코드 없이도 원하는 바를 직접 절차적으로 표현한다
- 디버깅
- 오류 메세지를 읽고 원인을 파악한다
- 모르는 오류는 오류 메세지를 검색하여 원인을 파악한다
- 코드를 일부분씩 실행하면서 이상 지점과 원인을 찾아낸다
- 구조화
- 함수나 클래스를 작성한다
- 모듈을 활용한다
- 안정화된 코드는 함수나 클래스로 고착시킨다
- 외부 라이브러리 활용
- 외부 라이브러리를 활용하지 않는다
- 설치된 라이브러리만 사용한다
- 필요한 라이브러리를 설치하여 사용한다
- 쓸만한 외부 라이브러리들을 리서치한다
| 레벨 | 문법의 정확성 | 디버깅 | 규약의 정확성 | 의사코드 활용 | 구조화 | 외부 라이브러리 활용 |
|---|---|---|---|---|---|---|
| 서투름 | 스펠링이나 들여쓰기 틀림 | 코드 실행시 오류가 발생하면 당황함 | 함수나 클래스의 문서를 읽지 않음 | 의사 코드를 작성하지 않음 | 단독 파일만 사용함 | 설치된 라이브러리만 사용하거나 아예 사용하지 않음 |
| 따라할 수 있음 | 스펠링이나 들여쓰기 정확 | 오류를 읽거나 검색하여 원인을 파악하고 올바르게 수정함 | ||||
| 변형할 수 있음 | 함수나 클래스의 문서를 찾아서 읽어봄 | 의사 코드 없이, 예제 코드에서 내용을 약간 변형하여 응용함 | ||||
| 작성할 수 있음 | 의사 코드를 작성하여 스스로 코드를 작성함 | |||||
| 숙련됨 | 단위 테스트를 작성하고 수행함 | 의사 코드 없이도 직접 코드를 작성함 | 함수나 클래스를 작성하고 1개 이상의 모듈에 걸쳐 코드를 작성함 | |||
| 확장할 수 있음 | 외부 라이브러리를 설치하고 문서를 읽어 활용함 |