일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hibernate
- beanfactory
- 프록시
- 토비의스프링
- DispatcherServlet
- springboot
- 클린코드
- ORM
- Spring
- 링킹
- java
- springwebmvc
- 자바
- 링커
- IOC
- 메이븐
- Immutable
- Kotlin for Java Developers
- 컴퓨터시스템
- JPA
- ApplicationContext
- gradle
- String
- FunctionalInterfaces
- 빌드툴
- AutoConfiguration
- DesignPattern
- 토비의스프링3.1
- exception
- lambda
- Today
- Total
목록클린코드 (2)
엔지니어로 가는 길
클린 코드에 쌓인 먼지를 털어낸 뒤 다시 읽기 시작했다. 저자가 서문에서 이 책은 가볍게 읽을 책이 아니고 앞으로 갔다가 뒤로 갔다가 하면서, 많은 노력을 들여 코드를 최대한 이해하려고 해야 한다고 신신당부했다. 그렇게 읽어보려고 한다. 90p에 보면 GeneratePrimes 클래스가 나쁜 버전으로 주어지고, 이를 리팩터링 한 결과를 다음 페이지에 보여주고 있다. 그냥 보는 것보다는 나라면 어떻게 고칠지 생각해보고, 실제로 고쳐보고, 정답(?)과 비교해보는 게 더 좋을 것 같아서 한 번 리팩터링을 해보았다. 먼저 나쁜 버전 원본이다. public class GeneratePrimes { public static int[] generatePrimes(int maxValue) { if (maxValue >..
목차 Introduction 절차적인 도형 클래스 객체적인 도형 클래스 객체 지향적인 코드 VS 절차 지향적인 코드 Reference Introduction 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조*는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. *여기서 말하는 자료 구조는 List나 Set과 같은 인터페이스가 아니라 정말 어떤 자료를 저장하기만 하는 클래스를 말하는 것 같다(이 글은 클린 코드의 일부 내용을 발췌한 글이다). C 언어의 struct와 유사할 것 같다. 이 글 내내 자료 구조는 이러한 뜻을 가진다. 구체적인 예시를 통해서 살펴보자. 절차적인 도형 클래스 위의 코드에서 도형 클래스는 절차적이다. Geometry 클래스는 두 가지 도형 클래스를..