소프트웨어 제품 개발 생명주기에 관한 글먼저, 아이디어 브레인스토밍으로 시작합니다. 하지만 이는 단순히 무작위 아이디어에 관한 것이 아니라 구조화된 창의성에 대한 것입니다. 다음과 같이 진행해야 합니다:목표 정의: 소프트웨어로 달성하고자 하는 목표를 명확히 하세요.기능
코드 리뷰에서 흔히 발생하는 현상 중 하나는 코드 형식과 스타일 같은 사소한 측면에 대한 집중과 장황한 토론이 이루어지는 반면, 중요한 측면들(코드 변경이 의도한 바를 제대로 수행하는지, 성능이 좋은지, 기존 클라이언트에 대한 역호환성이 있는지 등)은 상대적으로 덜 주
각 클래스는 하나의 책임만 가져야 합니다. 즉, 클래스는 하나의 기능만 수행해야 하며, 변경의 이유가 하나여야 합니다.클래스는 확장에는 열려 있어야 하지만, 수정에는 닫혀 있어야 합니다. 즉, 기존 코드를 수정하지 않고 기능을 추가할 수 있어야 합니다.서브 클래스는 언