# 클린코드 JS
(이 글은 유데미아케데미에 있는 poco님의 '클린코드 자바스크립트' 강의를 수강하고 느낀점을 기록한 글임을 밝힙니다!)
## 클린코드를 왜 고민해야 할까?
- 나의 주관적인 생각
- 고민해 볼 항목들
## var, let, const 에 대하여
- var, let & const
- let 보다는 const?
- scope와 전역 공간 사용에 대한 이야기
## 클린코드를 왜 고민해야 할까?
나의 주관적인 생각
클린코드에 대한 나의 주관적인 생각은 무엇보다도 "유지보수" 때문이라고 생각한다. 좀 위험한 발언인가?
왜냐하면 그 누가 보았을때 해당 코드가 무슨 역할을 하는지, 구조는 어떻게 짜여있는지를 파악하기가 정말 쉽다면 해당 서비스는 어떠한 이슈가 생기거나 기능을 추가 및 보완을 할 경우 보다 질 높고 빠르게 해당 이용자에게 서비스제공이 가능하기 때문이다.
이러한 코드 구조에서 더 나아가 기능적인 면으로도 효율이 좋아 실행속도가 빠르기까지 한다면 이것이야 말로 내가 생각하는 클린코드의 끝판왕이라고 생각한다.
아직 주니어 (사실 주니어도 아님) 개발자 이기때문에 이러한 생각은 그저 귀엽게 봐주셨으면 좋겠습니다... 성장하면서 또 생각이 바뀔수도 있으니 ㅜㅜ
고민해 볼 항목들
인강을 통한 클린코드에 대해 고민은 크게 5가지로 제시할 수 있다.
- 타인이 정의한 답을 의심해보기:
이때의 의심은 부정적인 의미보다는 복합적인 의심이라고 생각하면 될 것 같다. 이게 내가 도출해낸 답과 어떠한 차이가 있을까? 무엇이 더 효율적일까? 좋은 정의지만 이것보다 더 개선되고 좋은 답은 도출해 낼 수 없을까? 등등
- 배움에 대한 열린 태도 가지기 & 직접 생각하고 또 고민하기:
정말 공감되는 부분이였던것 같다. 게임이 취미인 나는 자신만의 플레이에 갇히기 보다는 여러 사람들의 플레이를 통해 보고 배워서 나만의 스타일을 조금씩 도출해내는게 정말 인간적이면서도 합리적이라 생각했기 때문이다. 앞으로의 내가 공부하며 끊임없이 두고두고 마음에 세기면서 배워나갈 수 있길 바란다.
개발을 하면서 고민해볼 분야(?)들에는 디자인패턴, 구조, 라이브러리, 설계 등이 있고 나만의 틀에 갇혀서 개발하지 않도록 하자!
- 클린코드가 무엇인지 자바스크립트를 통해 학습해보기:
클린코드 for 자바스크립트, 자바스크립트 for 클린코드가 되도록 강의수강하기!
- 흔히 알려진 자바스크립트 코드 스타일에 대한 견해를 탐구하기:
여기에는 AirBnB, Prettier, Google, ESLint, ECMA, JSLint 등이 있다고하는데 이 부분은 나는 잘 모르겠다 ㅜㅜ 강의 수강을 통해 탐구하고 공부 할 수 있는 시간이 되길 바란다!
## var, let, const에 대하여
var, let & const
이 섹션의 결론은 var를 지양하자 이다. var는 중복선언이 가능하고 이에따라 코드 line이 길어진다면 그에 대한 위험성은 충분히 고민해 볼만한 내용인 것 같다.
반대로 let & const는 중복선언이 불가능하여 var와 비교적으로 안전하여 let과 const의 차이는 재할당 가능의 여부로 나뉜다. let은 재할당이 가능하지만 const는 그렇지 않다.
let 보다는 const?
let 보다는 const를 쓰자. 그런데 const는 재할당이 불가능한데? 라고 생각한다면...
const person = {
name: 'kim',
age: '25',
}
person.name = 'han';
person.age = 25;
와 같이 수정이 가능하다! 와!
더 나아가서...
const person = [
{
name: 'kim',
age: 25,
},
];
person.push({
name: 'han',
age: 25,
});
이렇게 push도 사용이 가능하여 객체, 배열 조작에는 이상이 없다는 것을 알 수 있다. 와!
scope와 전역 공간 사용에 대한 이야기
var는 함수단위 scope, let과 const는 블록단위 scope이다.
우리는 let과 const를 쓰면서 전역공간을 더렵히지 않기로한다. 왜냐하면 전역공간을 더럽히게 된다면 어디에서나 접근이 가능하고 스코프 분리가 매우 위험해지기 때문에 최대한 지역변수를 사용하기로 하자.
'창고' 카테고리의 다른 글
[클린코드 JS] 수강 2일차 (0) | 2022.03.15 |
---|---|
[알고리즘] "객체생성" 을 활용한 문제 풀이 (0) | 2022.02.11 |
[바닐라JS] 우테코 프리코스: 자동차 경주 게임[step03] (0) | 2021.11.25 |
[일상] 21.11.22 끄적끄적 (0) | 2021.11.23 |
[일상] 21.11.15 끄적끄적 (0) | 2021.11.15 |