Clean Code 4

Clean Code "오류 처리"

Clean Code "오류 처리" Clean Code 저서를 읽은 후 주관적인 내용을 많이 포함하고 있는 글이기 때문에 틀린 내용이나 생각이 다른 부분이 있다면 제안해주세요 :) Javascript 예외 처리 Javscript에서는 다른 일부 언어와 같이 예외 처리를 위한 Error객체를 지원하고 있습니다. Clean Code 저서에서는 길게 이어지는 분기 처리 형식의 오류 처리보다는 예외 처리 형식을 추천하고 있는데요. Javascript에서는 예외 처리를 어떻게 처리하는지 간단하게 살펴보려 합니다. function division(operand1: number, operand2: number): number { if (!operand2) { throw new Error('Invalid Operand'..

Clean Code 2022.04.24

Clean Code "주석"

Clean Code "주석" Clean Code 저서를 읽은 후 주관적인 내용을 많이 포함하고 있는 글이기 때문에 틀린 내용이나 생각이 다른 부분이 있다면 제안해주세요 :) 우리는 나쁜 주석과 좋은 주석을 짚어보기 전에 분명히 해야 할 것이 있다. 바로 가장 좋은 코드 구성은 주석을 달지 않는 것이라는 점이다. Clean Code 저서에서는 주석을 필요악이라고도 표현한다. 코드는 리팩토링을 거쳐 변화하고 진화하지만 주석은 유지 보수되지 않는다. 따라서 정말 필요한 주석만을 추가하고 필요성이 없어진 주석은 없애주어야 한다. 다시 한 번 명심하자. 주석을 사용할 바에 코드로 그 의도를 표현하자. 좋은 주석 법적인 주석 오픈소스를 사용할 경우 소스코드 상단에 저작권을 표시하는 주석을 추가하는 것은 좋은 주석이..

Clean Code 2022.04.10

Clean Code "Function"

Clean Code "Function" Clean Code 저서를 읽은 후 주관적인 내용을 많이 포함하고 있는 글이기 때문에 틀린 내용이나 생각이 다른 부분이 있다면 제안해주세요 :) 한 가지만 하는 함수를 만들어라 사실 한 가지 기능만 하는 함수를 정의하는 것은 꽤나 모호하다 한 가지 기능이란 것은 추상화 수준에 따라 다르게 정의될 수 있기 때문이다 추상화 수준을 설명하기 위해 하나의 예제를 만들어보았다 예제 코드 시나리오 - 간단한 두 수 계산기 만들기 유저는 '계산하기' 버튼을 누른다 '계산하기' 버튼을 누르면 입력된 두 가지 수, 연산자를 DOM에서 가져온다 입력된 연산자, 피연산자가 유효한지 판별한다 두 수가 모두 입력되었는가? 연산자는 선택되었는가? 연산할 수 없는 숫자가 제공되지는 않았는가?..

Clean Code 2022.04.01

Clean Code "의미있는 네이밍"

Clean Code "의미있는 네이밍" Clean Code 저서를 읽은 후 주관적인 내용을 많이 포함하고 있는 글이기 때문에 틀린 내용이나 생각이 다른 부분이 있다면 제안해주세요 :) 의미가 불분명한 불용어 사용을 자제하라 불용어(Noise word) - 큰 의미를 가지지 않아 검색엔진 색인에서 제외되는 단어 const userInfo = useSelector((state) => state.USER.data); // AS-IS ​ const user = useSelector((state) => state.USER.data); // TO-BE Clean Code에서는 'Info', 'Data' 키워드를 대표적인 불용어로 꼽고 있다. 하지만 나의 경우 변수 네이밍에 'Data', 'Info' 키워드를 매우 ..

Clean Code 2022.03.22