본문 바로가기

분류 전체보기

클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 21일 길고 길었던 3주가 흘렀습니다.퇴근해서 힘든 몸과 마음을 핑계로 몇번이고 '오늘은 쉴까?' 를 얼마나 자신에게 물어봤던지..아침6시면 어김없이 도착하는 챌린지 알림 메일이 얄미우면서도 약한 저를 많이 이끌어주어 감사하기도 합니다. 책꽃이에서 외롭게 오랜세월을 보낸 책도 매일 저에게 만져지고 읽혀져서 기뻤을것 같습니다. 그동안 궁금하거나 잘 이해되지 않는 내용으로 적어왔던 내용들의 조사,---------------------------------------------------*테스트 케이스가 없는 코드는 깨끗한 코드가 아니다.*함수 내 코드의 추상화 수준*형식 맞추려 발생하는 수고 *디미터 법칙 위반인가 아닌가?*확인된 예외, 미확인 예외*SRP ( Single Responsibility Principl.. 더보기
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 19-20일 TIL (Today I Learned)2025.06.11클린 코드 읽으며 느낀 뼈아픈 내용 3가지// 본인이 가장 잘하는 언어로(JS, Python 등등) 더러운 코드를 깨끗한 코드로 // 리팩토링하는 예시를 만들어보세요. 현재 파일은 JS 로 되어있지만. 자유롭게 다른 언어로 변경해주세요. // 원칙 1. "플래그(부울 값) 인수는 추하다 : 함수가 한꺼번에 여러 가지를 처리한다고 대놓고 공표하는 셈이다."// Before 😣function TreatUser(userInfo,isInsertIfNotExist){ if(ExistUser(userInfo){ return UpdateUser(userInfo); //UpdateUser ? "Updated" : "NotUpdated" } else.. 더보기
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 16-18일 TIL (Today I Learned)2025.06.06 오늘 읽은 범위10장(클래스) 책에서 기억하고 싶은 내용을 써보세요.*클래스 체계(표준 자바 관례)변수 목록정적 상수 >> 공개 상수 >> 정적 비공개 변수 >> 비공개 인스턴스 변수 >> (있다면) 공개 변수공개 함수 비공개 함수자신을 호출하는 공개 함수 직후 *비공개 상태의 유지를 강구 >> 최후의 수단으로 공개(캡슐화 풀어주기)*클래스는 작아야 한다.단일 책임 원칙 ( SRP )클래스나 모듈을 변경할 이유는 단 하나여야한다.응집도인스턴스 변수 수가 작고, 메서드와 클래스의 응집도가 낮아야 한다.( 메서드가 변수를 적게 사용 )응집도 낮춤=작은 클래스로 분할낮은 응집도 >> 함수 분리 >> 클래스 분리 *변경하기 쉬운 클래스변경으로부터 격리인.. 더보기
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 12-15일 TIL (Today I Learned)2025.06.06 오늘 읽은 범위8장(경계) ~ 9장(단위 테스트) 책에서 기억하고 싶은 내용을 써보세요.>*학습 테스트 : 프로그램에서 사용하려는 방식대로 외부 API를 호출, 통제된 환경에서 API를 제대로 이해하는지 확인.*아는 코드와 모르는 코드를 분리 >*단위 테스트 자동화: 애자일 + TDD*TDD 법칙 세가지실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. *깨끗하지 못한 테스트코드는 테스트를 안하는 것 보다 못하다.*테스트코드가 중요한 이유테스트 케이스가 있으면 변경이 두렵지 않다.코드에 유연성, 유.. 더보기
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 11일 TIL (Today I Learned)2025.06.03 오늘 읽은 범위7장(오류 처리) 책에서 기억하고 싶은 내용을 써보세요.*오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드가 아니다.*오류가 발생하면 예외를 던짐 = 논리 코드와 오류 처리 코드 분리*Try-Catch-Finally문부터 작성하라.*미확인 예외를 사용하다.*예외에 의미를 제공하라. : 오류 메시지에 정도를 담는다.*호출자를 고려해 예외 클래스를 정의하라. *null을 반환하지 마라. 일거리만 늘리고 호출자에게 떠넘기는 행위이다.*null을 전달하지도 마라.오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.시간상 예문 코드는 나중에 다시 봐야겠다. 궁금한 내용이 있거나, 잘 이해되지 않은 내용이 있다면 적어보.. 더보기
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 10일 TIL (Today I Learned)2025.06.01 오늘 읽은 범위6장(객체와 자료구조) 책에서 기억하고 싶은 내용을 써보세요.*진정한 의미에서의 클래스 : 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작 가능*인터페이스나 조회/설정 함수만으로는 추상화가 이루어지지 않음: 객체가 포함하는 자료를 가장 좋은 방버으로 표현해야 함*잘차적인 코드 vs 객체 지향 코드 장점단점절차적인 코드기존 자료 구조 변경없이 새 함수 추가 용이새로운 자료구조의 추가가 어려움객체 지향 코드기존 함수의 변경없이 새 클래스 추가 용이새로운 함수의 추가가 어려움 *디미터 법칙 : 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다.*자료 전달 객체 ( Data Transfer Object : DTO ) .. 더보기
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 9일 TIL (Today I Learned)2025.05.31 오늘 읽은 범위5장(형식 맞추기) 책에서 기억하고 싶은 내용을 써보세요.*코드 형식 = 의사 소통의 일환*적절한 행 길이 유지 : 작은 파일이 이해하기 쉽다.*이름만 보고도 올바를 모듈을 살펴보고 있는지 아닌지 판단가능해야 한다.*연관 관계있는 항목은 가까운 거리를 유지해라.*호출하는 함수를 호출되는 함수 보다 먼저 배치해라.*팀은 하나의 규칙에 따라야한다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.sum=+num;보다는sum =+ num;이 알아보기 쉽다.이런 작은 것들의 형식도 정할 필요가 있겠다. 궁금한 내용이 있거나, 잘 이해되지 않은 내용이 있다면 적어보세요항상 "형식 맞추려 발생하는 수고 세줄 요약*팀 작업의 의사소통 .. 더보기
클린 코드 ( Clean Code ) - 노마드 코더 ( Nomad Coders ) 챌린지 8일 QUIZ 01.// What the heck is 86400000 for?setTimeout(blastOff, 86400000);// GOOD 😎// 위 코드를 깨끗하게 다시 작성해 주세요.const millisecondsOfDay=86400000;setTimeout(blastOff,millisecondsOfDay)// 어떻게 고쳤는지, 사례에서 무엇을 배워야 하는지 설명해주세요.// 86400000의 의미를 지닌 변수에 할당해서 사용하도록 했습니다.// 의미파악도 되고 여러 곳에서 사용할 경우 실수도 줄이고 관리도 수월해지도록 했습니다. QUIZ 02.const yyyymmdstr = moment().format("YYYY/MM/DD");// GOOD 😎// 위 코드를 깨끗하게 다시 작성해 주세요... 더보기

반응형