일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- IT 지식
- 이해할 수 있는
- 엘리스코딩
- SQLD
- js
- 공부를 가장한 일기일지도
- 백준
- 티스토리챌린지
- 노개북
- 모던 자바스크립트 deep dive
- boj
- 알고리즘
- 구름edu
- 오블완
- 비전공자를 위한
- 톺아보기
- SQL 개발자
- javascript
- 프로그래머스
- CodeStates
- 노마드 코더
- 최원영 저자
- nomadcoders
- 제로베이스
- 자바스크립트
- 개발자북클럽
- 자격증
- K-Digital Credit
- 노마드코더
- Do it! 시리즈
- Today
- Total
목록도서/클린코드(Clean Code) (11)
개발자를 희망하는 초보의 자기개발 이야기
💡TIL (Today I Learned)2024.12.16📖 오늘 읽은 범위10장. 클래스✔ 책에서 기억하고 싶은 내용클래스는 작고 단순해야 하며, 단일 책임 원칙(SRP)을 따라야 한다.캡슐화를 통해 내부 구현을 숨기고, 필드에 직접 접근하지 않도록 한다.클래스는 확장에는 열려 있고, 변경에는 닫혀 있어야(OCP) 하며, 새로운 기능을 추가할 때 기존 코드를 수정하지 않도록 설계한다.의존성 역전 원칙(DIP)을 통해 인터페이스와 구현을 분리하고, 유연성을 확보한다.상속보다는 구성을 우선적으로 고려하여 복잡한 계층 구조를 피한다.📝 오늘 읽은 소감은?리액트로 함수형 프로그래밍을 주로 하다보니 클래스와는 좀 어색하다. 함수 챕터와 일맥상통하는 부분이 있다는 것을 느끼면서 읽었다. 작고, 단순해야하며,..
💡TIL (Today I Learned)2024.12.13📖 오늘 읽은 범위9장. 단위 테스트✔ 책에서 기억하고 싶은 내용단위 테스트는 필수적이며, 코드의 품질과 리팩토링 속도를 높인다.테스트는 함수마다 한 개념만 테스트한다.F.I.R.S.T 원칙을 따라 빠르고, 독립적이며 반복 가능한 테스트를 작성해야 한다.Fast : 빠른 테스트가 가능한 코드를 작성한다.Independent : 단위 테스트는 작고 독립적이어야 하며, 불필요한 의존성을 최소화해야 한다.Repeatable : 실행 환경이 테스트에 실패한 이유가 되지 않도록 어디서나 반복적으로 실행할 수 있어야 한다.Self-Validating : 테스트는 결과가 명확하게 성공 또는 실패로 나타나야 한다. 확인 작업을 수동으로 하면 안 된다.Time..
💡TIL (Today I Learned)2024.12.10📖 오늘 읽은 범위7장. 오류처리✔ 책에서 기억하고 싶은 내용오류코드보다 예외를 사용하라오류 처리를 반환값 대신 예외로 처리하는 것이 더 좋다. (중첩에 중첩되는 if문 사용X)예외를 사용하면 정상적인 코드 흐름과 오류 처리가 분리되어 가독성이 좋아진다.예외에 의미를 제공하라.예외가 언제 발생하는지 의도를 명확하게 작성하고, 혼란스러운 예외 사용을 피해야 한다.null을 반환하지 마라null을 반환하면 호출하는 쪽에서 null 체크를 해야 하므로 코드가 복잡해진다.대신 예외를 던지거나, 명시적인 값을 반환하는 것이 좋다.특별한 경우를 처리하는 클래스 사용null 대신 Null Object 패턴이나 특별한 오류 객체를 사용해 로직을 단순화하라.✔..

💡TIL (Today I Learned)2024.12.08📖 오늘 읽은 범위7장. 오류처리✔ 책에서 기억하고 싶은 내용 객체(Object)는 데이터를 캡슐화하여 동작(메서드)을 통해서만 접근하도록 하며, 복잡성을 감추고 유연성을 제공한다.자료구조(Structure)는 데이터를 외부에 노출하며, 데이터를 처리하는 비즈니스 로직과 구조를 분리한다.객체는 디미터 법칙을 준수하여 불필요한 의존성을 줄이고, 객체 내부의 데이터를 무분별하게 노출하지 않아야 한다.복잡한 비즈니스 로직이 포함된 데이터는 객체로 감싸고, 단순히 데이터를 전달하는 역할만 필요한 경우 자료구조를 사용한다객체와 자료구조는 상호 보완적이며, 상황에 따라 적절히 선택하여 사용해야 한다. 📝 오늘 읽은 소감은?짧지만 어려운 내용이다. 정리하..
💡TIL (Today I Learned)2024.12.07📖 오늘 읽은 범위5장. 형식 맞추기✔ 책에서 기억하고 싶은 내용일관된 형식은 코드의 가독성과 유지보수성을 높이는 핵심이다.적절한 줄바꿈과 여백으로 코드를 시각적으로 분리하고, 논리적 흐름을 명확히 해야 한다.팀의 스타일 가이드를 따르고, 자동화 도구를 활용하여 형식 논쟁을 최소화 한다.📝 오늘 읽은 소감은?형식 맞추기는 내 생각에 가장 쉽게 클린 코드를 만들 수 있는 방법이다. 그러면서 사실상 Prettier와 ESLint가 필수가 되면서 자동으로 포맷팅이 되니까 잘 모를 수 있는 기본적인 영역이다. 사실상 클린 코드의 가장 큰 목표가 나와 동료의 생산성을 높이는 것이기 때문에 이 부분만 잘 지켜도 협업 생산성이 높아진다.🤔 궁금한 내용..
QUIZ 01.Hint ! : 검색하기 쉬운 이름을 사용하세요.blastOFF는 로켓 발사를 의미.86400000은 하루의 밀리초 (milliseconds) 의미.// What the heck is 86400000 for?setTimeout(blastOff, 86400000);// GOOD 😎const MILLISECONDS_IN_A_DAY = 86400000setTimeout(blastOff, MILLISECONDS_IN_A_DAY);/* 86400000가 의미하는 바가 불명확함구체적이고 의도가 명확한 변수를 만들어 할당함하루라는 총 시간의 양은 변하지 않기 때문에 const 사용*/QUIZ 02.Hint ! : 의미있는 이름을 사용해 주세요.const yyyymmdstr = moment().form..
💡TIL (Today I Learned)2024.12.05📖 오늘 읽은 범위4장. 주석✔ 책에서 기억하고 싶은 내용명확하지 않은 코드는 주석으로 설명하기보다 코드를 개선해서 주석이 필요 없도록 만드는 것이 더 좋다.좋은 주석은 드물기 때문에 최대한 주석을 줄이고, 코드 자체로 의도를 드러내야 한다.함수명, 변수명, 클래스명 등을 의미 있게 지어 주석 대신 자체적으로 코드가 무엇을 하는지 설명하도록 해야 한다.복잡한 로직은 함수로 분리하고 명확한 함수명을 붙이는 것이 좋다.주석이 필요할 때 :법적 정보: 라이선스나 저작권 관련 정보를 제공해야 할 때.의도를 설명하는 주석: 코드의 의도가 명확하지 않을 때, 그 이유나 목적을 설명하는 주석경고: 동작 방식이 정해진 코드는 다른 방식은 문제가 생길 수 있음..
💡TIL (Today I Learned)2024.12.02📖 오늘 읽은 범위3장. 함수✔ 책에서 기억하고 싶은 내용1. 작게 만들어라함수는 짧고 간결하게 한다.중첩 구조가 생길 만큼 커져서는 안된다.2. 한 가지만 해라함수 내의 모든 문장의 추상화 수준이 동일해야 한다.최대한 추상화 수준이 하나인 함수를 구현하기 위해 노력해야 한다.3. 함수의 이름은 동작을 설명해야 한다 길고 서술적인 이름이 짧고 어려운 이름보다 좋다.이름만 보고도 함수의 목적을 쉽게 알 수 있어야 한다. 4. 함수의 인수(파라미터)는 적을수록 좋다 함수 인자는 0~2개가 적당하다.3개 이상은 객체로 묶어서 전달하는 것이 좋다.인자가 많을수록 함수가 복잡해지고, 테스트하기 어려워진다.5. 부수 효과를 일으키지 마라함수는 부수 효과 ..

💡TIL (Today I Learned)2024.12.01📖 오늘 읽은 범위2장. 의미있는 이름✔ 책에서 기억하고 싶은 내용의도를 분명히 밝힌다.이름만 보고도 변수나 함수의 역할을 명확히 알 수 있어야 한다.예를 들어, count 대신 numberOfUsers라는 이름을 사용하면 그 변수가 무엇을 나타내는지 더 명확해진다.그릇된 정보를 피한다.변수명이나 함수명을 오해가 없도록 지어야 한다.예를 들어, 리스트가 아닌데 accountList라는 이름을 사용하면 안 된다.의미 있게 구분한다.불필요하게 중복되는 단어나 의미 없는 차별화는 피해야 한다.예를 들어 data, info와 같은 단어만으로는 이게 어떤 데이터인지, 어떤 정보인지 알 수 없다.발음하기 쉬운 이름을 사용한다.코드를 읽고 논의할 때 발음하..

💡TIL (Today I Learned)2024.11.30📖 오늘 읽은 범위추천사 ~ 1장. 깨끗한 코드✔ 책에서 기억하고 싶은 내용TPM 5S철학으로 코드 바라보기정리 : 적절하게 이름 붙인다.정돈 : 누구나 예상하는 위치에 둔다.청소 : 불필요한 것은 제거한다.청결 : 일관적이게 표준화한다.생활화 : 이를 반복한다.코드는 요구사항을 표현하는 언어다.좋은 코드를 사수하는 것은 프로그래머들의 책임이다.나쁜 코드가 나쁜 이유또 다른 나쁜 코드를 유도한다.개발 속도를 크게 떨어뜨린다.팀 생산성이 떨어진다.유지보수를 위한 새로운 시스템 개발을 유도한다.나쁜 코드를 짜는 이유일정이 촉박하다.사이드 이펙트로 또 다른 버그가 발생할까 봐 기존 코드를 유지한다.이로 인해 생산성이 떨어진다.일정이 점점 촉박해진다...