1.
Chrome으로 디버깅하기
: 개발자 옵션을 이용하여 chrome 환경에서 디버깅을 진행하는 방법, 브라우저 환경이 필요하지 않으므로 스킵
2.
코딩 스타일
: 개발자는 가능한 간결하고 읽기 쉽게 코드를 작성해야 함
문법
함수의 위치
스타일 가이드
Linter
요약
3.
주석
: 코드 구조에서 알아본 바와 같이 한 줄 짜리 주석은 //로, 여러 줄의 주석은 /*…*/로 시작
좋지 않은 주석과 코드 리팩토링
좋은 주석
요약
4.
닌자 코드
: 닌자라 불리던 전설 속 개발자들은 유지보수 담당 개발자들을 조지기 위해 다양한 편법을 사용했음
•
알아보기 힘들게 코드 짧게 쓰기
: 남들이 잘 알지도 못하는 문법 지식을 총동원해서 코드 양을 획기적으로 줄인 미친놈
•
맘대로 글자 하나만 사용하기
: 글자 하나만 사용해서 변수 이름을 짓는 미친놈
•
지만 아는 약어 사용하기
: 기상천외하게 list → lst, userAgent → uA 등 지 꼴리는데로 단어 축약해서 변수만드는 놈
•
지가 찾은 포괄적인 명사 사용하기
: obj, data, value와 같이 분명하지 않은 다양한 개념을 포괄하는 명사를 사용하는 미친놈
•
헷갈리게 철자가 유사한 단어 사용하기
: date, data와 같이 철자가 헷갈리는 단어들을 조합해서 변수 만드는 미친놈
•
동의어 사용하기
: 보여준다를 show로 퉁치면되지 굳이 display.. render.. 이지랄하는 놈
•
이름 재사용하기
: 변수에 할당된 값을 은밀하게 변경하는 놈.. 진짜 개또라이 GOAT
•
재미로 언더스코어 사용하기
: _name, __value같이 의미없이 언더스코어를 붙이는놈,
•
과장 형용사 사용하기
: superElement, megaFrame과 같이 얼탱이 없이 의미 부여하는 놈
•
외부 변수 덮어쓰기
: 함수 내부와 외부에 동일한 이름을 가진 변수를 선언해 사용하는 미친놈
•
부작용이 있는 코드 작성하기
: isReady나 checkPermission과 같이 사이드 이펙트가 없어 보이는 접두사를 가진 함수들에게 사이드 이펙트를 부여해버리는 미친놈
•
함수에 다양한 기능 넣기
: validate같은 접두어가 붙은 함수가 검증 외에도 다른 기능을 수행하게끔 만드는 미친놈
•
요약
◦
편법 중 몇 개만 사용해도, 놀라운 코드를 만들 수 있게 됩니다.
◦
편법을 많이 사용하면 유지 보수하기가 힘들어져서 당신을 해고할 수 없게 됩니다.
◦
편법을 모두 사용하면 후배 개발자들에게 엄청난 영감을 심어줄 수 있습니다.
5.
테스트 자동화와 Mocha
: 테스트 자동화는 앞으로 풀어야 할 과제에서만 아니라 현업에서도 광범위하게 쓰임
테스트는 왜 해야 하는가?
Behavior Driven Development
거듭제곱 함수와 명세서
개발 순서
스펙 실행하기
코드 초안
스펙 개선하기
코드 개선하기
중첩 describe
스펙 확장하기
요약
6.
폴리필
: 자바스크립트는 끊임없이 진화하는 언어, 새로운 제안이 정기적으로 등록, 분석됨
: 엔진별로 어떤 기능을 지원하는지, 차이가 발생할 수 있음
바벨