{"action":"opened","issue":{"url":"https://api.github.com/repos/DongyeobPark/effectiveJava/issues/2","repository_url":"https://api.github.com/repos/DongyeobPark/effectiveJava","labels_url":"https://api.github.com/repos/DongyeobPark/effectiveJava/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/DongyeobPark/effectiveJava/issues/2/comments","events_url":"https://api.github.com/repos/DongyeobPark/effectiveJava/issues/2/events","html_url":"https://github.com/DongyeobPark/effectiveJava/issues/2","id":316840156,"number":2,"title":"chapter 1 개요","user":{"login":"DongyeobPark","id":19648877,"avatar_url":"https://avatars3.githubusercontent.com/u/19648877?v=4","gravatar_id":"","url":"https://api.github.com/users/DongyeobPark","html_url":"https://github.com/DongyeobPark","followers_url":"https://api.github.com/users/DongyeobPark/followers","following_url":"https://api.github.com/users/DongyeobPark/following{/other_user}","gists_url":"https://api.github.com/users/DongyeobPark/gists{/gist_id}","starred_url":"https://api.github.com/users/DongyeobPark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DongyeobPark/subscriptions","organizations_url":"https://api.github.com/users/DongyeobPark/orgs","repos_url":"https://api.github.com/users/DongyeobPark/repos","events_url":"https://api.github.com/users/DongyeobPark/events{/privacy}","received_events_url":"https://api.github.com/users/DongyeobPark/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-23T14:34:11Z","updated_at":"2018-04-23T14:34:11Z","closed_at":null,"author_association":"OWNER","body":"# chapter 1 개요\r\n\r\n- 이 책은 자바 프로그래밍 언어를 최대한 효율적으로 사용하는데 도움이 되도록 작성\r\n- 78개의 항목으로 구성. 각 항목에서는 한 가지의 규칙을 설명\r\n- antipattern\r\n  - 코드 작성시에 금해야 할 내용\r\n  - `// 이렇게 하지 말 것!`이라고 주석으로 표시\r\n  - 책에서는 이런 코드가 왜 안 좋은지 설명하면서 대안도 제시함\r\n- 이 책은 독자가 자바 프로그래밍 언어를 이미 잘 알고 있다고 가정\r\n- 이 책의 규칙\r\n  - 명확함과 단순함이 가장 중요하다.\r\n  - 모듈(module)은 정해진 기능대로 수행되어야 하며, 가급적 크기를 작게 만들되 너무 작아지지 않게 한다.\r\n(이 책에서 얘기하는 모듈은 재사용 가능한 소프트웨어 컴포넌트를 말하며, 하나의 메소드일 수도 있고 여러 패키지로 구성되는 복잡한 시스템이 될 수도 있다)\r\n  - 소스 코드를 복사 후 수정하여 다시 사용하는 형태가 아니고 기존 코드를 그대로 재사용해야 하며, 모듈간의 종속성은 최소화해야 한다.\r\n  - 에러는 가능한 발생된 즉시 검출되어야 하며, 이상적으로는 컴파일 시점이 좋다.\r\n  - (이러한 규칙을 무작정 따라 하기 보다는 타당한 이유를 갖고 어길줄도 알아야 한다)\r\n- 성능(performance) 관점에서는 다루지 않음\r\n- 코드가 생략된 경우도 있으므로, 아래 import 문 중에서 필요한 것을 골라서 코드 맨 앞에 추가해야 함\r\n```\r\nimport java.util.*;\r\nimport java.util.concurrent.*;\r\nimport java.io.*;\r\n```\r\n- 책의 예제 코드 : [http://java.sun.com/docs/books/effective](http://java.sun.com/docs/books/effective)\r\n"}}
{"actor":{"display_login":"DongyeobPark"}}