본문 바로가기
728x90
반응형

View All61

클린코드 - 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.
hombrew 설치 및 zsh: command not found 해결 터미널에서 버전확인을 위해 npm -v 입력했을 때 이런식으로 나오길래 당황해서 구글링으로 해결했는데 나중에 똑같은 에러가 발생했을 때를 위해 기록해 두려고한다. zsh: command not found: npm zsh: command not found: node 또는 homebrew 설치를 위한 brew를 입력하면 똑같이 zsh 에러가 나타나는것을 확인할 수 있는데 /opt/homebrew 디렉토리 삭제 후 아래 방법으로 다시 설치하니 해결 됬었다. 1. /opt 디렉토리 이동 cd /opt 2. Homebrew 디렉토리를 만든다 (root 권한 필요) sudo mkdir homebrew 3. /opt/homebrew 디렉토리의 소유권을 부여(root 권한이 필요 없도록) sudo chown -R $(.. 2021. 11. 8.
[Java] 두 개의 List를 stream을 사용해서 비교하기 List를 비교하는 방법은 여러가지가 있다. 오늘은 java8부터 제공하는 stream을 사용해서 비교하는 방법을 알아보려고 한다. 예제1. List 2개를 각각 비교해 중복 되지 않은 값 찾기 void listTest() { List oldList = Arrays.asList("1", "2", "3", "4"); List newList = Arrays.asList("3", "4", "5", "6"); List resultList1 = oldList.stream() .filter(old -> newList.stream().noneMatch(Predicate.isEqual(old))) .collect(Collectors.toList()); System.out.println(resultList1); // [.. 2021. 10. 28.
728x90
반응형