바위타는 두루미
단순히 get, set함수를 만들어 변수를 다룬다고 class가 아니다. 그보다는 추상 인터페이스를 이용해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 class이다. 객체 vs 자료구조 - 자료구조를 사용코드 : 자료구조 변경없이 새 함수를 추가하기 쉽다. | 함수 변경없이 새로운 자료구조 추가하기 어렵다. - 객체지향 코드 : 함수 변경없이 class 추가하기 쉽다. | class변경없이 새로운 함수 추가하기 어렵다. - 분별있는 프로그래머는 모든 것이 객체라는 생각이 미신임을 잘 안다. 때로는 단순한 자료구조와 절차적인 코드가 적합한 상황이 있다. 디미터 법칙 -> 모듈은 자신이 조작하는 객체의 속사정을 몰라야한다. 클레스 C의 메서드 f는 다음과 같은 객체의 메서드만 호..
형식을 맞추는 일은 매우 중요하다 기능은 바뀌더라도, 맨 처음 잡아둔 구현 스타일과 가독성수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. 좋은 형식은 무엇일까? 1. 적절한 행길이를 유지하라 - 큰 파일보다 작은 파일이 이해하기 쉽다. - 신문기사처럼 작성하라 : 상단은 고차원 , 하단으로 갈수록 저차원 (세부구현) - 개념은 빈 행으로 분리하라 - 수직거리 : 밀접한개념은 세로로 가까이 두어야한다. - 변수는 사용하는 위치에 최대한 가까이 선언한다. - 인스턴스 변수는 모아라 : 자바는 상단에, c++는 하단에 선언하는 편 - 종속함수 : 함수가 다른함수를 호출한다면 두 함수는 세로로 가까이, 가능하다면 호출하는 함수가 먼저! - 개념적 유사성이 높으면 가까이 2. 가로형식 맞추기 - 짧은 행이..
주석은 코드로 의도를 표현하지 못해서 사용하므로 실패이다. 주석은 거짓말을 하는 경우가 많다. 진실은 오직 code! 그럼 좋은 주석은? 1. 법적인 주석 : file 첫머리에 저작권정보와 소유권정보 ->Good 2. 의미를 명로하게 밝히는 주석 : 인수나 반환값이 표준 라이브러리나 변경하지 못하는 코드에 속한다면 의미를 명료하게 밝히는 주석이 유용하다. 3. 경고하는 주석 4. todo주석 느낀점 - 이 책에서 말하는 나쁜 주석들은 이제는 형상관리툴로 커버가 가능한 부분들이고, 책 앞부분에 언급된 대로 함수를 쪼개고 이름을 잘 짓는 것 만으로도 없앨수 있는 부분들이 매우 큰 것 같다. 가능하다면 최대한 작성하지 않도록 하는것, 이전에 주석들은 이제는 다른 적절한 방법들로 개선하는 부분이 필요해 보인다.