한달한권 클린코드 핵심 정리 (1장 깨끗한 코드, 2장 의미 있는 이름) 성능이 나쁜 코드 불필요한 연산이 들어가서 개선의 여지가 있는 코드 의미가 모호한 코드 이해하기 어려운 코드, 네이밍과 그 내용이 다른 코드 중복된 코드 나쁜 코드는 깨진 유리창 처럼 계속 나쁜 코드가 만들어지도록 한다. 나쁜 코드는 팀 생산성을 저하시킨다. 기술 부채를 만들어 수정을 더 어렵게 한다. 새로운 시스템을 만들어야 한다. 일정 안에 새로운 기능을 완성해야 한다.(하지만.. 나쁜 ... 한달한권book클린코드book 클린코드 핵심 정리 (6장 객체와 자료구조) 비지니스 로직 없이 순수 데이터를 저장하는 자료구조의 역할이다. 객체 위의 코드는 생성자에 비즈니스 로직과 관련된 코드가 들어가 있고, 필드를 private 으로 하여 자료를 숨겼다. 만약 Triangle 이라는 새로운 클래스(자료구조가) 추가된다면? area() 함수 안에 if-else 문을 수정해야 한다. 절차적인 코드는 새로운 자료구조를 추가하기 어렵다. 함수를 고쳐야 한다. 객체 만약... 한달한권book클린코드book 클린코드 핵심 정리 (5장 형식 맞추기) 내 for 문은 뭐지..? 이제 이해하기 좋다! 가독성에 필수적이다 코드를 수월하게 읽어나갈 수 있다. 아마추어처럼 보이지 않는다. 포맷팅으로 인해 코드를 잘못해석해 버그를 발생할 위험을 줄인다! ~200 lines < 500 lines 200라인 "코드 길이를 200줄 정도로 제한하는 것은 반드시 지킬 엄격한 규칙은 아니지만, 일반적으로 큰 파일보다는 작은 파일이 이해하기 쉽다" -> 현업... 한달한권book클린코드book 클린코드 핵심 정리 (4장 주석) 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. 자신이 저지른 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내야 한다. 코드로도 의도를 표현할 수 있다! 코드의 변화에 따라가지 못하고, 주석은 방치된다. 코드는 컴파일되어 호출되지만, 주석은 그저 주석이기 때문에 그 자리에 방치되고 결국 의미없는 텍스트가 되어버린다. 구현에 대한 정보를 제공한다. 의도와 중요성을 ... 한달한권book클린코드book 클린코드 핵심 정리 (7장 예외처리) 하지만 예외를 던지는 것이 명확하고, 처리 흐름이 깔끔해진다. 오류가 발생한 부분에서 예외를 던진다. (별도의 처리가 필요한 예외라면 checked exception으로 던진다.) 예외를 처리할 수 있는 곳에서 catch하여 처리한다. Exception을 상속하면 Checked Exception 명시적인 예외처리가 필요하다. C#은 확인된 예외를 지원하지 않는다. 영웅적인 시도에도 불고하고 ... 한달한권book클린코드book 클린코드 핵심 정리 (8장 경계) 오픈소스, 라이브러리를 안쓰는 프로젝트는 없다. 우리가 만든 코드에 외부에서 들어온 코드를 병합해야 한다. 외부 코드는 외부에서 만든 코드인데, 외부 시스템과 호출하거나 단순히 외부에서 만들어진 코드일 수 있다. 우리 코드와 외부 코드를 깔끔하게 통합시키기 위해 경계를 잘 지어야 한다. 객체의 실제 구현을 외부로부터 감추는 방식 Sensor를 관리해야 한다. Sensor는 외부에서 사용된다.... 한달한권book클린코드book
클린코드 핵심 정리 (1장 깨끗한 코드, 2장 의미 있는 이름) 성능이 나쁜 코드 불필요한 연산이 들어가서 개선의 여지가 있는 코드 의미가 모호한 코드 이해하기 어려운 코드, 네이밍과 그 내용이 다른 코드 중복된 코드 나쁜 코드는 깨진 유리창 처럼 계속 나쁜 코드가 만들어지도록 한다. 나쁜 코드는 팀 생산성을 저하시킨다. 기술 부채를 만들어 수정을 더 어렵게 한다. 새로운 시스템을 만들어야 한다. 일정 안에 새로운 기능을 완성해야 한다.(하지만.. 나쁜 ... 한달한권book클린코드book 클린코드 핵심 정리 (6장 객체와 자료구조) 비지니스 로직 없이 순수 데이터를 저장하는 자료구조의 역할이다. 객체 위의 코드는 생성자에 비즈니스 로직과 관련된 코드가 들어가 있고, 필드를 private 으로 하여 자료를 숨겼다. 만약 Triangle 이라는 새로운 클래스(자료구조가) 추가된다면? area() 함수 안에 if-else 문을 수정해야 한다. 절차적인 코드는 새로운 자료구조를 추가하기 어렵다. 함수를 고쳐야 한다. 객체 만약... 한달한권book클린코드book 클린코드 핵심 정리 (5장 형식 맞추기) 내 for 문은 뭐지..? 이제 이해하기 좋다! 가독성에 필수적이다 코드를 수월하게 읽어나갈 수 있다. 아마추어처럼 보이지 않는다. 포맷팅으로 인해 코드를 잘못해석해 버그를 발생할 위험을 줄인다! ~200 lines < 500 lines 200라인 "코드 길이를 200줄 정도로 제한하는 것은 반드시 지킬 엄격한 규칙은 아니지만, 일반적으로 큰 파일보다는 작은 파일이 이해하기 쉽다" -> 현업... 한달한권book클린코드book 클린코드 핵심 정리 (4장 주석) 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. 자신이 저지른 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내야 한다. 코드로도 의도를 표현할 수 있다! 코드의 변화에 따라가지 못하고, 주석은 방치된다. 코드는 컴파일되어 호출되지만, 주석은 그저 주석이기 때문에 그 자리에 방치되고 결국 의미없는 텍스트가 되어버린다. 구현에 대한 정보를 제공한다. 의도와 중요성을 ... 한달한권book클린코드book 클린코드 핵심 정리 (7장 예외처리) 하지만 예외를 던지는 것이 명확하고, 처리 흐름이 깔끔해진다. 오류가 발생한 부분에서 예외를 던진다. (별도의 처리가 필요한 예외라면 checked exception으로 던진다.) 예외를 처리할 수 있는 곳에서 catch하여 처리한다. Exception을 상속하면 Checked Exception 명시적인 예외처리가 필요하다. C#은 확인된 예외를 지원하지 않는다. 영웅적인 시도에도 불고하고 ... 한달한권book클린코드book 클린코드 핵심 정리 (8장 경계) 오픈소스, 라이브러리를 안쓰는 프로젝트는 없다. 우리가 만든 코드에 외부에서 들어온 코드를 병합해야 한다. 외부 코드는 외부에서 만든 코드인데, 외부 시스템과 호출하거나 단순히 외부에서 만들어진 코드일 수 있다. 우리 코드와 외부 코드를 깔끔하게 통합시키기 위해 경계를 잘 지어야 한다. 객체의 실제 구현을 외부로부터 감추는 방식 Sensor를 관리해야 한다. Sensor는 외부에서 사용된다.... 한달한권book클린코드book