원티드에서 제공해 주는 11월 무료 강의를 신청해서 또 듣게 되었다.
이번 주제는 클리 코드를 주제로 진행되었는데
저번 로그인 주제보다는 굉장히 여유롭게? 거의 실습 없이 진행되는 것 같았다.
클린코드?!
클린코드 말 그대로 깨끗한 코드를 의미하는데 그럼
깨끗한 코드는 어떠한 것일까? 에 질문에는 구체적으로 정하기
어려운 느낌이었다. 회사나 환경에 따라 달라질 수 도 있고
사람마다 클린코드에 대한 생각이 다를 수 있다!
내가 생각하는 클린코드는 가독성? 다른 사람이 내가 작성한 코드를
나에게 물어보지 않고 그 코드에 의미와기능을 한 번에 이해할 수 있다면
정말 클린 한 코드이지 않을까? 생각한다.
강의에서는 클린코드가 중요하긴 하지만 클린코드를 따지지만 정작
출시일 지키지 못한다면?
깔끔한 코드 따지고 코드 리뷰는 깐깐하게 보면서 출시일 지키지 못한다면?..
클린코드가 중요하긴 하다! 하지만 코드가 주는 가치가 먼저다!
소프트웨어는 녹슨다?
클리코드에 대해 애기하다 소프웨어는 녹슨다 라는 말이나와서 알아보게 되었다.
https://blog.hongminhee.org/2014/04/13/82482810330/
내 소프트웨어는 변하지 않았어도 다른 사람들이 만든 소프트웨어는 자꾸 바뀐다.
소프트웨어 세계는 상호운용성이 중요하므로 가만히 있으면 소프트웨어는 고장 난다. 자고 일어날 때마다 한국어 억양이 계속 바뀐다고 생각해 보라. 한 달이 지났더니 나만 서울말을 하고 다른 사람들은 모두 평양말을 한다.
두 달 지났더니 연변말을 한다. 일 년이 지났더니 일본어 같이 되었다.
즉 개발자의 입장에서 바라본다면 지금 Next13 버전을 공부하는데
Next14 버전이 출시되어 버전 업이된다며
Next 13 버전의 일부 기능이 지원하지 않게 되었다.(대충 내 시간과 멘탈의 일부가 동작하지 않게되었다)
그래서 강사분께서는 현업에서 ios13 버전에 맞게 코드를 작성해야 해서
일부분의 코드를 폴리필이라는 것을 적용해서 작성한다고 하신다.
if(ios13 버전이 아닐 때) {
ios13 버전에서 동작하는 로직
}
https://ko.javascript.info/polyfills
그래서 다시 클린코드로 돌아와서 클린코드에서 중요하게 다뤄지는 부분에
대해서 얘기해주셨다.
네이밍
get vs generator의 이름의 역할은 명백히 다르듯이 함수를 생성할 때
get , generator 등의 단어를 사용하여 함수를 생성 시에 함수의 기능에 대해
생각하여 함수 이름을 작성하여한다.
그 외에도 동사의 위처정도 구분, 접두사와 후미사의 규칙(prefix <=> Suffix) 등등
생태계
클린코드를 얘기하다가 뜬금없이 개발자의 환경에 대해 얘기해주셨다.
끊임없이 발전하는 기술과 계속해서 변하는 대중성은 개발로 바라본다면 생태계가 된다.
그 안에 오픈소스 생태계로 쌓인 맥락들과 지식은 무시할 수 없으며 회사의 코드, 동료의 코드
다른 사람의 코드를 무지성으로 따르느냐 맥락을 이해하냐의 차이가
개발자의 수준이라고 중요하게 얘기해주셨다.굉장히 뼈를 때리는 주제였다.
이 말을 듣고 지금 내가 하는 개발 공부는 내가 이해하고 있는가?에 대해서 돌아보는 순간이었다.
'프리온보딩 챌린지' 카테고리의 다른 글
프리온보딩 FE 챌린지, 클린코드(3) (1) | 2023.11.13 |
---|---|
프리온보딩 FE챌린지, 클린코드(2) (1) | 2023.11.09 |
프리온보딩 FE 챌린지, Ouath(4) (1) | 2023.10.16 |
프리온보딩 FE 세션, 쿠키(3) (0) | 2023.10.11 |
프리온보딩 FE JWT(2) (1) | 2023.10.07 |