일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- JPA
- 스프링
- Vue.js
- Python
- 코드업
- 클린코드
- 파이썬
- Git
- Gradle
- Postman
- springboot
- H2 설치
- golang
- MySQL
- Spring
- 기초100제
- spring security
- 알고리즘
- 클린 코드
- GitHub
- 티스토리챌린지
- go
- mariadb
- java
- Spring Boot
- 롬복
- Codeup
- 오블완
- 객사오
- thymeleaf
- Today
- Total
목록클린코드 (3)
nyximos.log
클린코드, 애자일 소프트웨어 장인정신 Robert C. Martin 들어가며 어떤 식으로든 외부 코드를 우리 코드에 깔끔하게 통합해야만 한다. 이 장에서는 소프트웨어 경계를 깔끔하게 처리하는 기법과 기교를 살펴본다. 외부 코드 사용하기 인터페이스 제공자 : 적용성 최대한 넓히고자 노력 인터페이스 사용자 : 자신의 요구에 집중하는 인터페이스 기대 → 시스템 경계에서 문제 발생 java.util.Map은 다양한 기능을 제공한다. 장점 : 기능성, 유용성 단점 : 원하지 않는 기능을 사용자가 사용하여 의도와 다른 상황이 발생할 가능성 有 클린 코드 경계 인터페이스인 Map을 Sensors 안으로 숨긴다. Sensor 클래스가 객체 유형을 관리하고 변환하므로, Map 인터페이스가 변하더라도 나머지 프로그램에 영..
클린코드, 애자일 소프트웨어 장인정신 Robert C. Martin 들어가며 왜 많은 프로그래머가 조회get 함수와 설정set 함수를 당연하게 공개해 비공개 변수를 외부에 노출할까? 자료 추상화 구현을 감추려면 추상화가 필요하다. 추상 인터페이스를 제공해 사용자가 구현을 모른 채 핵심을 조작할 수 있어야 진정한 의미의 클래스다. 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. 아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁘다. 구체적인 Point 클래스 직교좌표계 사용 계별적으로 좌표값을 읽고 설정하게 강제 구현을 노출한다. 변수를 private로 설정해도 각 값마다 get/set 함수를 제공한다면 구현을 외부로 노출하는 셈 public class Point{ publi..
클린 코드, 애자일 소프트웨어 장인정신 Robert C. Martin 들어가면서 어떤 프로그램이든 가장 기본적인 단위가 함수다. 이 장은 함수를 잘 만드는 법을 소개한다. 작게 만들어라! 일반적으로 다음 코드보다 짧아야 한다. public static String renderPageWithSetupAndTeardowns( PageData pageData, boolean isSuite ) throws Exception { boolean isTestPage = pageData.hasAttribute("Test"); if(isTestPage){ WikiPage testPage = pageData.getWikiPage(); StringBuffer newPageContent = new StringBuffer();..