전체보기(316)
-
[2019.02.19] 객체지향의 사실과 오해 (1장~4장)
객체지향 개발 5대 원리 : SOLID S 단일 책임 O 개방, 폐쇠 L 다형성 I 인터페이스 분리 D Dependency injection 1장객체지향의 목표 : 목표를 달성하기 위한 협력과 맡은바 역할과 책임을 다하는 것객체지향의 시작 : 적절한 객체에게 적절한 책임을 할당하는 것 객체는 자율적이고 협력적이여야한다.협력적이란 것은 개방적이란 것이다. 자율적이란 것은 외부의 간섭받지않고 스스로 결정가능하다는 것이다. request = 메시지 request caller = senderrequest callee = recieverrequest 처리 = 메소드 '클래스' 지향 프로그래밍이 아니라 '객체' 지향 프로그래밍임을 유념해라.어떤 클래스가 필요한가가 아닌 어떤 객체가 어떻게 통신해서 협력할 것인가를 ..
2019.02.19 -
[2019.02.14] 클린 코드 (정리 : 냄새와 휴리스틱)
클린 코드를 위한 주석 이름 안좋은 예시비고 부적절한 정보 변경 이력 시스템이 저장해주는 정보는 더이상 저장할 필요없다. 쓸모없는 정보 성의없는 주석 주석 처리된 코드 맘놓고 그냥 지워라. Git에서 복구하면 된다. 코드로 충분한 정보 add(3, 5) // 3+5 환경 이름안좋은 예시비고 한번에 build 가능해야한다 한번에 test 가능해야한다 함수 이름안좋은 예시비고 매개변수는 적을 수록 좋다 매개변수에 boolean을 넣지마라 사용자는 true 또는 false 로 호출하면 결과가 어떻게 달라지는지 짐작이 안간다. 애초에 이것이 존재한다는 것은 함수를 쪼갤수 있다는 증거다. 출력인수는 사용하지 마라 int num; scanf("%d", &num); scanf에 num을 넣는건 입력이 아니라 scan..
2019.02.14 -
[2019.02.14] 클린 코드 (SerialDate 리팩토링 사례 분석)
SerialDate : java.util.Date의 불편함을 해소하고자 만든 라이브러리 변경이력을 나타내는 주석은 더 이상 필요없다.주석을 HTML 태그를 사용해서 표시하지마라 명칭에 관한 고민어떤 기준을 기점으로 얼마나 ~가 지났는지를 표현하기에 Serial 은 적합한가? relative offset이 더 적합하다.Serial은 일련번호, 즉 식별 번호에 사용하기 적합하다. 옛날 프로그래밍에서 사용하던 기교를 피하라ex. Constant 클래스를 상속하게 해서 TARGET_CONSTANT에 접근할 때 Constant.TARGET_CONSTANT 와 같이 접근하는 것을 피하려던 기교.바람직하지 못하므로 enum을 써라. 독자적인 enum 소스파일을 만들어 사용하라. enum에는 toInt()와 같은 것이..
2019.02.14 -
[2019.02.12] RecyclerView 정리
핸드폰 이미지 출처 : https://developer.android.com/guide/topics/ui/layout/recyclerview
2019.02.12 -
[2019.02.12] 자바 람다식
자바 8버전부터 추가된 문법식1. 자바는 매소드를 매개변수로 전달 할 수 없다. 2. 그래서 어떤 실행 메소드를 전달하길 원한다면 다음과 같이 전달해야한다. public interface MethodDeliver{public void execute(int a); } function1(new MethodDeliver{@Overridepublic void execute(int x){System.out.println(String.valueOf)(x));} } 3. 이때 MethodDeliver 와 같이 메소드 전달을 위해 하나의 메소드만을 가지는 인터페이스를 함수형 인터페이스라고 부른다. 4. 그래서 나온게 람다식 5. (매개변수)->{ ... }function1은 어차피 함수형 인터페이스 MethodDeli..
2019.02.12 -
[2019.02.11] RestAPI - GET
Get 방식에 Body 를 담아 보내는 요청은 효과적이지 못하다.출처 : https://stackoverflow.com/questions/978061/http-get-with-request-body Get 호출방식에 인자를 넣고 싶다면 Query String 혹은 Header를 고려해라. * Query stringhttps://www.baseURL.com/member?nickname=kok202&gender=male
2019.02.11