개발 (66) 썸네일형 리스트형 [이유 찾는중]Form validation시 white label로 가는 에러 해결 Errors가 마지막 parameter로 들어오면 white labels로 간다. 왜지... 객체를 정렬할 때-> comparable을 사용하자. (작성필요) https://www.daleseo.com/java-comparable-comparator/ [10장] 새로운 MVC 프레임워크 구현을 통한 점진적 개선 # 요구사항 1) 새로운 기능이 추가될 때마다 매번 컨트롤러를 추가하는 것이 아니라 메소드를 추가하자. 2) URL 매핑시 HTTP 메소드 (GET, POST, PUT, DELETE)도 매핑에 활용하자. -> URL은 같지만 다른 메소드로 매핑하고 싶다. # 리플렉션(Reflection)이란? 영어단어 Reflect: 사물의 속성을 나타내다. 자바에서 리플렉션은 런타임에 클래스의 정보를 조회하는 것이다. 자바 고유의 기술이며 다른 언어에서는 찾아볼 수 없다. (혹시라도 생겼다면 댓글로 알려주세요!) 사용하는 곳: 프레임워크 개발(예. 스프링), 하이버네이트 궁금한점 : 웹 개발에서는 언제 쓸까? -> 어노테이션이 동작하는 원리가 reflection이라고 한다. 개발자가 직접 리플렉션 개념을 건드릴 일은 .. 5. 형식 1. 고차 함수에서 저차 함수 순으로 나열. 2. 새로운 개념이 등장할 때 빈행 넣기 3. 변수 3.1 로컬 변수: 사용하는 위치에 최대한 가깝게 선언 3.2 인스턴스 변수: 클래스의 맨 처음에 선언 4. 유사한 개념끼리 모으기 예. assertTrue assertFalse 5. 가로형식 최대 120자를 넘지 말자. 6. 들여쓰기 지키기 쿼리를 짜거나, 함수를 작성할 때 들여쓰기 꼭 지키자. 7. 팀 내 규칙 생성 자바 코드 컨벤션 외에도 개발 팀별로 작성 규칙을 명시할 필요가 있다. 예. 네이밍 규칙, 괄호의 위치, 들여쓰기 등 -> 아름다운 코드는 한 사람이 작성한 것처럼 일관성이 있어야 한다. 4장. 주석 주석은 잘못된 정보를 전달할지도 모른다. 코드는 리팩토링, 기능 추가를 통해 끊임 없이 변한다. 주석이 설명하는 기능이 삭제/수정될 수도 있다. 기능 설명이 필요한 메소드는 클래스로 분리하여 쪼개자. 의미가 모호한 메소드/변수명은 길더라도 자세하게 바꾸자. /* 오늘 결석한 학생들을 구하는 함수는 아래와 같이 자세한 이름으로 개선할 수 있다 */ // bad students.get() // 오늘 결석한 학생들 // good students.getTodaysAbsentStudents 좋은 주석 1. 저작권 표시 -> 회사명, 라이센스 등 -> 반복된다면 하나의 별도 파일로 관리하는 것이 더 낫다. 2. 외부 라이브러리를 사용하는 과정에서 의도를 명확히 밝혀야할 경우 3. TODO 주석 -> 그렇다고 해서,.. [요약] 3. 함수 1. 함수는 작게 만들어라 1.1 작은 함수의 정의 오직 하나의 일만 하는 함수 1.2 어떻게 작게 만들까? A. 객체지향 생활체조 원칙 1번과 2번을 적용한다. 1) 한 메소드에 오직 한 개의 들여쓰기만 한다 2) else 키워드를 쓰지 않는다. B. 함수당 추상화 수준은 하나로 - 비슷한 추상화 수준의 함수끼리 한 함수내에서 사용한다. C. 내려가기 규칙: 위에서 아래로 코드 읽기 추상화 레벨이 다양할 경우, (1) 추상화단계가 높은 함수가 먼저 정의되고 (2) 페이지의 아래로 내려갈 수록 추상화 단계가 낮은 함수가 나온다. /* 추상화 3단계*/ String renderPage() { renderMenu(); // 추상화 3단계 내부에서는 2단계 함수만 사용한다. 1단계는 사용하지 않는다. rend.. [요약] 2.의미 있는 이름 1. 올바른 이름이란 변수명/클래스명/함수명은 아래의 질문에 답할 수 있어야 한다. - 변수(클래스,함수)의 존재 이유 - 수행 기능 - 사용 방법 역할이 제대로 명시된 이름과 그렇지 않은 이름을 비교해보자. /*bad*/ ind day; // 경과 시간 (단위, 날짜) /*good*/ int daySinceCreation; 위 코드의 bad는 주석이 있기 때문에 괜찮지 않냐고 물을 수도 있다. 하지만 day를 여러 곳에서 사용한다면 어떨까. 유지보수를 하는 나 같은 사람은 최초 작성자의 의도를 읽기 위해 매번 주석이 정의된 곳으로 스크롤을 왔다갔다할 것이다. 사실 내가 짠 과거의 코드도 저런 모습이 많다.. 반성하자 내 자신 2. 나쁜 이름과 좋은 이름의 예시 2.1 이름에 포함된 자료형 -> Bad .. [요약] 1장. 깨끗한 코드 1. 본문 요약 르블랑의 법칙 -나중에 리팩토링한다는 말은 새빨간 거짓말이다. 개발 기간에 깨끗한 코드를 만들어내자. 좋은 개발자(=시니어개발자)란 - 기획자, PM이 납득할 수 있도록 현재 시스템을 설명하고, 개발 초기에 꼼꼼하게 설계하는 사람. 관리자가 나쁜 코드의 위험을 인지하도록 설득할 것 깨끗한 코드란 - 한가지 일을 제대로 한다. 의존성을 낮추어야 함 - 단위테스트, 인수 테스트 존재 - 의미 있는 이름 - 중복을 제거한다. - (내 생각) 1) 테스트 케이스는 반드시 필요하다. 아무리 주석을 자세히 적어놔도, input값과 output을 명확히 제공하는 테스트 케이스를 읽는 것이 훨씬 효율적이다. 2) 의미 있는 이름을 짓자. frmPop() 이런 함수를 최근 유지보수중인 코드에서 봤다. f.. 이전 1 ··· 3 4 5 6 7 8 9 다음