- 오늘 공부했던 부분.
1) 어제 Office hour 시간에 배웠던 내용 정리 및 복습하였습니다.
=> Array.isArray가 커버하는 조건들
- 배열인지 아닌지 여부 판단
- 객체의 key 값이 있는지 없는지 판단(객체 배열 6번 문제 이상한 부분 =>빈 배열 조건 없어도 통과됨)
=> 배열 메소드인 map과 reduce의 개념 정리
=> map, filter, reduce를 한줄로 써서 작성할 수 있다는 점. 직관적인 코드를 만들 수 있다.
ex) let array = ["code", "states", "appleIsDeli", "케빈데브라이너"];
array.filter(wordLessThan7).map(toUpperCase).reduce(joinWord) // "code states"
단, wordLessThan7, toUpperCase, joinWord의 함수들은 따로 만들어줘야 한다. 따로 만들지 않고 메소드 안에 직접 넣어서 만들어도 되지만 너무 복잡함.
2) [실력은 연차와 비례하지 않는다]라는 칼럼을 읽고 스스로를 고찰해 보는 시간을 가졌습니다.
- 공부하면서 생각했던 것.
첫 번째로, office hour때 배웠던 내용 중 재밌었던(?) 부분은 map, filter, reduce를 한 줄로 쓰는 것이 더 직관적인 코드로 보일 수 있다는 부분이었습니다. 위의 예시로 들었던 코드를 보면 배열 안에 여러 문자열들을 filter를 통해 길이가 7 미만인 것만 골라내고, map을 통해 대문자로 바꾸고 reduce를 통해 배열을 지우고 하나의 값으로 만들 수 있다는 의미입니다. 이 의미들은 함수 안에 작성된 코드를 몰라도 함수의 이름을 보면 무슨 코드가 작성되었는지 추측할 수 있습니다. 그 말인즉슨, 가독성이 좋은 코드를 작성하기 위해 중요한 것은 함수의 이름을 잘 지어야 한다는 부분입니다. 위의 함수의 이름들은 그 의미를 확실히 알 수 있는 이름들입니다. 그러나 막상 혼자 코딩을 해 나가다 보면 가독성이 좋은 이름을 짓는 것은 쉬운 일이 아닙니다. 또한 프로그래머가 가장 스트레스받는 일 중 하나가 '변수명 짓기"라고 합니다. 이름을 잘 짓기 위해 많은 고민과 노력을 기울여야겠다는 생각을 갖게 되었습니다.
두 번째로 칼럼을 읽으면서 여러 부분을 반성하였습니다. 저는 단순히 시간을 투자해서 반복적으로 하다 보면 언젠가 코딩을 잘할 수 있을 것이라는 막연한 생각을 갖고 있었습니다. 그렇지만 이런 식으로 가다가는 연차만 쌓인 초보 개발자란 타이틀을 갖게 될 수도 있다는 걸 이 글을 통해 알게 되었습니다. 이 글에서 말하는 '목적의식 있는 연습'을 꾸준히 해서 '연차가 쌓인 만큼의 역량을 보유한 개발자'가 되어야겠다고 생각하였습니다.
'기술들 > Today I Learned' 카테고리의 다른 글
[Today I Learned] 8월 9일(일) (0) | 2020.08.09 |
---|---|
[Today I Learned] 8월 3일(월) (0) | 2020.08.03 |
[Today I Learned] 7월 26일(일) (0) | 2020.07.26 |
[Today I Learned] 7월 21일(화) (0) | 2020.07.21 |
[Today I Learned] 7월 18일(토) (0) | 2020.07.18 |