- 배열과 관련된 식별자 이름은 어떻게 짓는 것이 바람직한가?
:
filters
처럼 복수형으로 쓸 수 있는 것은 's' 를 붙여서 짓는 것이 좋음
:filter
처럼 콜백 함수의 매개변수를 정하기가 더 쉽기 때문에
- 모듈로 추출할 가능성이 있는 함수는 코드 상 어디에 배치하는 것이 바람직한가?
: 가급적 위쪽에 배치하는 것이 바람직함
- 식별자 이름을 지을 때 어떤 경우에
get
이 아니라create
나generate
를 사용하는가?:
get
은 있었던 정보를 취득해오는 경우에 사용,create
나generate
는 기존에 없었던 값을 생성할 때 사용
- DOM 요소의 초기 렌더링 시 사용할 수 있는 이벤트는 무엇인가?
:
window
객체의DOMContentLoaded
를 사용하여 초기 렌더링 시 수행할 로직을 콜백 함수로 이벤트 핸들러에 등록할 수 있음
- 이벤트 핸들러는 순수 함수인가?
: 이벤트 핸들러 함수 하나가 하는 역할이 굉장히 많고, 외부 상태에 접근하여 변경하는 역할을 하므로 비순수 함수일 수밖에 없음
- 명시적으로 변수에 할당하여 사용하는 경우의 장단점은 무엇인가?
: 변수의 가독성이 향상되어 알아보기 쉽다는 장점이 있음
: 변수가 하나 늘어나기 때문에 메모리 사용 관점에서는 단점이 있음
<input>
요소의 이벤트를 캐치하는 경우,keyup
과keydown
중 어떤 것을 사용하는 것이 바람직한가?:
keyup
이 좀 더 바람직함, 보통 키보드로 무언가를 입력하는 과정의 완료가 키를 눌렀다 떼는 것이기 때문
- 좋은 코드란 무엇인가?
: 일단 요구사항대로 동작하는 것이 최우선 목표지만 요구사항을 초과하여 기능을 구현하면 안 됨, 팀 단위로 작업하는 경우 요구사항을 잘 지킬 필요가 있음
: 좋은 코드는 다른 개발자가 보기 쉽고 고치기 쉬운, 즉 가독성이 좋은 코드
- 가독성이란 무엇이고, 어떻게 지향할 수 있는가?
: 가독성이 좋은 코드는 결국 읽기 쉬운 코드
(1) 식별자 이름을 알기 쉽게 짓기
: 함수 이름은 동사의 명령형, 변수 이름은 명사형
: 자바스크립트는 동적 타입 언어이므로 가급적 타입까지 함께 명시해주는 것이 좋음(2) 들여쓰기와 띄어쓰기를 잘하기
: 알아보기 쉽게, 일관성 있게 하는 것이 중요함(3) 함수의 이름을 명료하게 짓기
: 함수의 이름을 짓기가 모호한 경우 그 함수의 로직이 잘못되었을 가능성이 높음
: 즉 하나의 함수는 하나의 역할만 수행해야 함
- 코드는 어떻게 작성하는 것이 바람직한가?
: 왜 그런 코드를 작성했는지 다른 사람에게 이유를 설명할 수 있어야 함
: 설령 틀렸더라도 이유 없이 작성한 코드는 고칠 수가 없음
: 즉 코드를 작성할 때 자신만의 철학을 담는 것이 중요함