개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
실용주의 접근법은 변화에 대응하는 소프트웨어를 개발하는 방법
변화에 대응하는 소프트웨어를 만들려면 변화하기 쉽도록(ETC) 소프트웨어를 설계하라.
변화하기 쉽도록 소프트웨어를 개발하려면 항목 9~항목 15를 고려하라.
TIL (Today I Learned) 날짜
2022. 05. 16
오늘 읽은 범위
2장. 실용주의 접근법
책에서 기억하고 싶은 내용을 써보세요.
항목 8. 좋은 설계의 핵심
소프트웨어는 항상 변화한다. 더 쉽게 변화할 수 있는 (ETC) 설계가 더 좋은 설계이다.
항목 9. DRY: 중복의 해악
중복된 것은 변화에 함께 대응해야 한다. 이는 ETC를 저해하는 대마왕이다.
항목 10. 직교성
시스템의 컴포넌트들이 고도로 상호의존적인 경우, 특정 국지적 부분만 수정하는 방법이란 없다.
항목 11. 가역성
누구도 미래에 대해서는 알 수 없다. 특히, 우리는 더욱 그렇다. 여러분의 코드가 로큰롤을 할 수 있게 하라. 락을 할 수도 있고 필요한 경우 롤을 할 수도 있게 하는 것이다.
항목 12. 예광탄
예광탄 코드는 기능은 별로 없지만 완결된 코드이며, 최종 시스템 골격의 일부를 이룬다.
항목 13. 프로토타입과 포스트잇
프로토타입은 최종 시스템의 어떤 특정한 측면을 탐사해 보는 것이 목표. 프로토타입은 다른 재료를 이용해 만들 수도 있다. 포스트잇은 작업흐름과 애플리케이션 로직과 같은 동적인 것들을 프로토타이핑해 볼 수 있는 훌륭한 도구다.
항목 14. 도메인 언어
자연어의 모호함은 소프트웨어 변화의 주요한 요인이다. 사용자의 말이 명세, 한 걸음 더 나아가서 실행가능한 코드가 될 수 있다면 애플리케이션 도메인에 훨씬 가깝게 프로그래밍할 수 있다.
항목 15. 추정
초기 기능의 구현과 테스트를 마친 후, 이를 첫 번째 반복의 끝으로 삼아라. 이 경험에 기반해 반복의 횟수와 각 반복에서 무엇을 할지에 대한 초기 추측을 다듬을 수 있다. 이런 정제는 각 반복이 끝날 때마다 나아질 것이고, 일정에 대한 확신도 이와 함께 증가할 것이다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
실용주의 철학은 개발자를 변화에 대응할 수 있도록 하고, 실용주의 접근법은 소프트웨어를 변화에 대응할 수 있도록 한다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
변화하기 쉬운 소프트웨어. 말은 참 쉽다. 그러나 어떻게 이를 달성할 것인가? 많은 수련이 필요할 것 이다.
오늘 읽은 다른사람의 TIL