본문 바로가기
728x90
반응형

View All179

클린코드 - 4장 주석(Comments) 4장 주석(Comments) 개발을 하면서 주석은 뺴놓을 수 없는 요소이며, 작성을 올바르게 하는 방법을 제시하고있다. 1. 코드로 의도를 표현하라 대부분 주석을 생각하면 코드로 설명이 안되니 이해 시키려고 작성했던 적이 많이 있다. 주석을 작성할 생각보다 먼저 개발자의 의도를 표현하는 방법을 사용하려고 노력하자. 안좋은 예시) // 직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if ((employee.flags & HOULY_FLAG) && (employee.age > 65)) if 조건이 길고 어렵기 때문에 주석을 달았다. 좋은 예시) if (employee.isEligibleForFullBenefits()) 주석을 제거하고 위처럼 의도가 분명하게 나타나는 코드로 변경하니 주석이 없어도 읽기 .. 2023. 9. 11.
클린코드 - 3장 함수(Function) 3장 함수(Functions) 3장은 함수를 어떤식으로 구현해야 클린하게 작성할 수 있는지 방법을 제시하고 있다. 1. 작게 만들어라 해당 장에서 계속해서 나오는 문구이며 가장 중요한 규칙이다. 작게 만들어라! if-else, while 등에 들어가는 블록은 1줄 이어야한다. 어떻게든 작고 또 작게 만드는것을 강조 하고있다. 2. 한가지만 해라 함수는 한가지만 해야 하고 그걸 잘 해야 한다. 한가지만 하는지 판단하는 방법은 그렇다면 어떤것인가? 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행하는가? 함수 내 로직을 의미있는 이름으로 다른 함수를 추출할 수 있는가? 함수 내 섹션이 나눠지는가? 위 방법을 적용해서 생각해보도록 하자. 3. 함수 추상화 수준은 하나로 하라 함수 내 모든 문장의 추.. 2023. 8. 31.
클린코드 - 2장 의미 있는 이름(Meaningful Names) 2장은 개발 과정에서 클래스, 메서드, 변수명 등 어떤 '명칭’이 올바른지 제시해주고 있다. 의미 있는 이름? 개발 과정에서의 다양한 곳에서 개발자가 직접 이름을 명시하면서 개발을 하고 있다. 수 많은 이름을 붙혀줘야 하는데 귀찮고, 바쁘니까 '의미 없는 이름’을 붙혀주고 있다면 그것이 나쁜 코드의 시작이다. 2장을 읽으면서, 의미 있는 이름은 이것이 정답이다. 라는 느낌보다 여러가지 올바른 방법을 제시하고 있는데, 알아보도록 하자. 1. 의도를 분명히 밝혀라. 의도를 분명히 하는 변수명을 짓는데 고민하는 시간이 아까워도 투자해야 한다. ➡️ 그 이름을 정하므로 추후 절약하는 시간이 더 많기 때문입니다. 예시1) 의도가 분명하지 않은 코드 int d; // 경과 시간(단위: 날짜) 예시1) 의도가 분명한.. 2023. 8. 28.
클린코드 - 1장 깨끗한 코드(Clean Code) 1장 깨끗한 코드(Clean Code) 1장은 어떤 코드가 깨끗한 코드인지 왜 깨끗한 코드를 작성해야 하는지 원인과 해결방법을 설명하고 있다. 나쁜 코드란? 읽기 어려운 코드 단순히 로직이 복잡해서 읽기 어려운 코드를 말하는 것이 아닌, 어떤 의도로 코드를 작성했는지 이해하기 어려운 코드를 말한다. 수정하기 어려운 코드 코드 한 줄만 수정하면 되는 간단한 로직이라고 생각했는데, 참조하고 있는 곳이 수십개여서 수정하는데 한참 걸리는 경우를 떠올려보자. 나쁜 코드를 왜? 빠듯한 개발 일정, 잘못된 기획, 설계 미스 등 우선 빨리 개발을 하고 나중에 리팩토링하자라는 생각을 해본적이 있을 것이다. 나중은 결코 오지 않는다. (르블랑의 법칙) 르블랑의 법칙으로 나중은 결코 오지 않으며 리팩토링 하기로한 코드들이 .. 2023. 8. 28.
[Java] Java8에서의 날짜/시간 비교 (LocalDateTime) Java8 이전에는 흔히 알고 있는 Date, Calendar를 통해 날짜시간을 비교했었는데 불편한 사항이 많았다. 하지만 Java8 부터는 LocalDateTime, LocalDate, LocalTime, ZonedDateTime을 제공하기 때문에 기존의 불편한 사항이 많이 해소 되었다. 그래서 오늘은 많이 쓰이는 LocalDateTime을 이용한 대표적으로 날짜/시간 비교하는 함수를 정리해두려고 한다. isBefore() 인자보다 과거일 때 true 반환 LocalDateTime oldDate = LocalDateTime.parse("2021-11-10T10:11:15.000"); LocalDateTime newDate = LocalDateTime.parse("2021-12-16T10:11:15.00.. 2021. 11. 16.
[Intellij] Type: In word 경고창 지우기(스펠링 체크 제거) for Mac 매번 주황색으로 인텔리제이에서 나타나는 경고 밑줄은 도움 될 때도 많지만 거슬릴 때가 더 많다. 그래서 항상 스펠링체크 제거할 때마다 구글에서 검색헀는데 블로그에 정리하면서 머릿속에 기억해두려고 한다. Mac 기준 스펠링 제거 경로 Intellij IDEA > Preference > Inspections > Proofreading > Typo 이다. 여기에서 Typo 부분을 체크 해제 해주면된다. 구글에서 인텔리제이 스펠링 제거를 검색했을 때 Inspections까지는 똑같은데 Spelling이라는 키워드가 없어서 해맸는데 이번 기회에 잘 알아두도록 하자 2021. 11. 11.
728x90
반응형