주석코드에 의미를 명확하게 담도록 노력하고 주석은 왠만하면 사용을 안하는것이 좋다사용을한다면 좋은 주석을 쓰는것이 좋다나쁜코드에 주석을 달지말고 좋은 코드로 바꿔라안좋은 주석은 없는것보다 훨씬 나쁘다코드만이 정확한 정보를 제공하는 유일한 출처다 좋은 주석 정말 좋은 주석은 주석을 달지 않는것이지만 어쩔수 없이 달아야한다면 다음과 같은 주석을 달길 바란다 법적인 주석저작권, 날짜 등을 알려주는 주석ex) // Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.// GNU General Public License 버전 2 이상을 따르는 조건으로 배포한다. 중요도를 알려주는 주석코드를 볼 사람을 위해 뭐가 중요하다고 알려주는 주석e..
함수는 작게만드는것이 좋다 아래와 같이 너무 긴 코드는 이해하기 힘들다public static String testableHtml(PageData pageData,boolean includeSuiteSetup) throws Exception {WikiPage wikiPage = pageData.getWikiPage();StringBuffer buffer = new StringBuffer();if (pageData.hasAtt ribute("Test")) {if (includeSuiteSetup) {WikiPage suiteSetup =PageCrawlerlmpl.getlnheritedPage(SuiteResponder.SUITE_SETUP_NAME, wikiPage);if (suiteSetup != nu..
의도가 분명하게 이름을 작성하라변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야한다. 1. 변수(혹은 함수나 클래스)의 존재 이유는? 2. 수행 기능은? 3. 시용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다 public List getThem() {List listl = new ArrayList();for (int[] x : theList)if (x[0] 二二 4)listl.add(x);return listl;} 위 코드는 단순하지만 읽기 어렵다문제는 코드의 단순성이 아니라 코드의 함축성이 훨씬 중요하다 코드 맥락이 코드 자체에 명시적으로 드러나지 않는다 위 코드는 암암리에 독자가 다음과 같은 정보를 안다고 가정한다.1. theList에 무엇이 들었는가..
장인 정신을 익히는법1. 장인의 기술, 방법, 구현 등을 습득하고2. 그것들을 꾸준히 연습하고 반복숙달 해야한다 이책은 꾸준히 열심히 공부해야하는 책 마지막에 나오는 휴리스틱까지 꼼꼼하게 다 공부해야 제대로 공부한것 ------------------ 이 책을 읽고나면 좋은코드와 나쁜코드를 구별할수있게된다.코드는 요구사항을 상세히 작성할수있는 수단?코드가 없다면 추상화도 불가능하며 코드가 사라질수는없다 ----------------- 궁극적으로 코드는 요구사항을 표현하는 언어 ----------------- 나쁜코드를 작성하는것은 바빠서, 귀찮아서 다양한 이유로 작성을 하고나중에 고쳐야지 라고 생각하지만 그 나중은 오지않는다 (르블랑의법칙)나쁜코드는 개발 속도를 크게 떨어뜨린다. --------------..