| 6. 객체와 자료 구조-- || 자료 추상화-- 자료를 세세하게 공개하기 보다는 추상적인 개념으로 표현하는 편이 좋다.- 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다.> Ex 1.123456789101112131415// 구체적인 Point Classpublic class Point { public double x; public double y;} // 추상적인 Point Classpublic interface Point { double getX(); double getY(); void setCartesian(double x, double y); double getR(); double getTheta(); void setPolar(double r, double theta);..
| 5. 형식 맞추기-- || 형식을 맞추는 목적-- 코드 형식은 중요하다. 코드 형식은 의사소통의 일환이다.- 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.. || 적절한 행 길이를 유지하라.-- 적은 행 길이로도 커다란 시스템을 구축할 수 있다.- 일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다. ||| 신문 기사처럼 작성하라.- 소스 파일도 신문 기사와 비슷하게 작성하자. 이름은 간단하면서도 설명이 가능하게 짓는다.- 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사. 마지막에는 가장 저차원 함수와 세부 내역- 가장 중요한 개념을 가장 먼저 표현 ||| 개념은 빈 행으로 분리하라.- 빈 행은 새로운 개념을 시작한다는 시..
| 4. 주석--"나쁜 코드에 주석을 달지 마라. 새로 짜라." - Brian Wilson Kernighan, Phillip James Plauger * 주석이 코드에서 분리어 점점 더 부정확한 고아로 변하는 사례가 너무도 흔하다.* 코드를 깔끔하게 정리하고 표현력을 강화하는 방향으로, 애초에 주석이 필요 없는 방향으로 에너지를 쏟는 편이 좋다.* 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. || 코드로 의도를 표현하라!- > 주석으로 의도를 표현123// 직원에게 복지 혜택을 받을 자격기 있는지 검사if ((employee.flags & HOURLY_FLAG) && (Employee.age > 65))cs > 코드로 의도를 표현1if (employee.isEligibleForFullBenefi..
| 3. 함수 Summary.아무래도 가장 중요한 포인트는함수는 "짧게", "한 가지 작업만", "서술적 이름으로"조거문에 들어가는 블록은 한줄로... || 작게 만들어라! 123456public static String renderPageWithSetupAndTeardowns ( PageData pageData, boolean isSuite) throws Exception { if (isTestPage(pageData)) includeSetupAndTeardownPages (pageData, isSuite); return pageData.getHtml();}Colored by Color Scriptercs - if문/else문/while문 등에 들어가는 블록은 한 줄이어야 한다는 의미. (대개 이곳에서..
| 2. 의미 있는 이름 Summary.의미 있고 발음하기 쉽고 검색하기 쉽게 이름을 지어주자.(존재 이유, 수행 기능, 사용 방법이 드러나도록)... || 의도를 분명히--변수나 함수 그리고 클래스 이름은 아래 질문에 모두 답해야 한다1. 변수(함수 or 클래스)의 존재 이유는?2. 수행 기능은?3. 사용 방법은?* 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말.1234int elapsedTimeInDays;int daySinceCreation;int daySinceModification;int fileAgeInDays;cs 1234567891011121314151617// 의도가 분명하지 않은 코드public List getThem() { List list1 = new ArrayList ..