당신이 사용하는 언어를 탓하지 말라. 코드를 아름답게 만드는 것은 프로그래머이다.
- Ward Cunningham
코드는 한편의 잘 쓴 산문처럼 읽혀야한다
- Martin Fowler
Function should do one thing, do it well, do it only
- Robert C. Martin
주석을 읽는 사람들이 감사해야 가치있는 주석이다.
- Martin Fowler
객체지향이란 High Level Policy를 Low Level Detail로 부터 보호 하는 것. 바꾸어 말하면, High Level Policy가 Low Level Detail에 의존해서는 안된다.
- Robert C. Martin
Data structure 는 public 변수만 있고 메서드가 없다(like c struct). 반면 클래스는 private 변수가 있고 public 메서드가 있다.
- ??
Getter/Setter - 다 줘봐. 내가 판단해서 변경한 다음에 넣어 줄게. Which is NOT cohesive. No encapsulation.
- 백명석
객체지향은 기능이 추가 되면 취약하다(sub class에 영향). 반면 타입 추가에 자유롭다.
- Robert C. Martin
소스코드가 곧 디자인이다 -Jack Reeves
Tables are artificial constructs that represent the current state of the system, not the events that occurred.
- ??
DDD in a nutshell - Separating implementation from policy. Policy and implementatin should follow business language.
- ??
Boundary(layer) means knowledge. AND KNOWLEDGE MEANS DEPENDENCY.
- ??
Three magic words of OO - encapsulation, inheritance, polymorphism
- ??
What is bad code - rigidity, fragility, non-reusable
- ??
The web is just a delivery mechanism. In other word, low level detail.
- Robert C. Martin
OO is managing dependency.
- Robert C. Martin
Architecture is about intent.
- Robert C. Martin
Make QA find nothing.
- Robert C. Martin
정원사가 되려면 일단 정원일을 직접 해보고, 그 다음에는 정원사 공동체에 들어가야 하고, 그 다음에는 다른 사람들에게 정원일을 가르쳐 보아야 한다. 그런 다음에야 정원사라고 할 수 있다. 익스트림 스타일로 프로그래밍하고, XP의 가치를 공유하며, 최소한 여러분의 실천방법 가운데 일부를 공유하는 사람들의 공동체에 참여하고, 그런 다음 여러분이 아는 것을 다른 사람과 공유해야만 익스트림 프로그래머가 될 수 있다.
- 익스트림 프로그래밍 by 켄트벡
소프트웨어의 모든 것은 변한다. 요구사항은 변한다. 설계도 변한다. 비즈니스도 변한다. 기술도 변한다. 팀도 변한다. 팀 구성원도 변한다. 변화는 반드시 일어나기 때문에, 문제가 되는 것은 변화가 아니다. 그보다는 변화를 극복하지 못하는 우리의 무능력이 문제다.
- 익스트림 프로그래밍 by 켄트벡
오래 전에 작성했던 코드를 지금에 와서도 고칠 부분이 없어 보인다면, 그것은 그동안 배운 것이 없다는 뜻이다.
- 소프트웨어 장인 by 산드로 만쿠소 (p.77)
Leave the campground cleaner than you found it (캠프장은 처음 왔을 때보다 더 깨끗하게 해 놓고 떠나라).
- 보이스카우트 규칙 (클린코드 p19)
- https://www.facebook.com/juwonkimatmedotcom/posts/10203717257008111