-
-
유연한 소프트웨어를 만드는 설계 원칙 - 막다른 골목 없이 진화하는 시스템 개발하기
크리스 핸슨.제럴드 제이 서스먼 지음, 류광 옮김 / 한빛미디어 / 2022년 3월
평점 :

컴퓨터의 역사는 100년도 되지 않습니다.
컴퓨터가 만들어진 이후 소프트웨어가 만들어졌는데요.
처음 시작은 작동이 되도록 만드는 것이었을 겁니다.
하지만 개발이 끝이 아니라 유지보수까지 염두에 두고 만들어져야 합니다.
프로그래머들이 반복적인 것을 줄이고 더 효율적인 설계를 하기 위해 노력해왔습니다.
효율적인 설계를 하고 싶은 프로그래머분들에게 좋은 소식이 나왔습니다.
좋은 소식은 유연한 소프트웨어를 만드는 설계 원칙입니다.
이 책을 통해 유연한 프로그램 설계를 배우는 시간이 되길 바랍니다.

1) 기존 코드의 문제
기존 코드들은 재사용할 수 없는 문제가 있었습니다.
재사용할 수 없는 것은 끔찍한 시간 낭비라 할 수 있는데요.
그 이유는 코드에서 수많은 변수를 바꾸는 것은 시간이 오래 걸립니다.
하지만 사소한 수정만 해도 된다면 소요되는 시간을 줄일 수 있습니다.
많은 프로그래머가 프로그램을 짜다가 막다른 골목을 만날 때도 있는데요.
막다른 길을 벗어나기 위해 코드 리팩토링을 하는 게 좋습니다.

2) 효과적인 전략과 기법
초보 프로그래머에게 바로 효과적인 코드를 작성하라 할 수는 없습니다.
어느 정도 개발 경력이 있는 분들은 효과적인 코드를 짜려고 노력해야 합니다.
초반에는 자연과 설계를 유연성을 비유하여 책의 방향성을 알려줍니다.
조합자를 사용하면 유연하게 조립할 수 있습니다.
또한 래퍼를 통해 일반화하고 도메인 모델을 추상화하고 단순화할 수도 있어야 합니다.

Ps
이 책의 예제코드는 스킴으로 작성되었습니다.
스킴은 리스프의 일종으로 함수형 언어와 가깝습니다.
스킴을 모르신다면 스킴에 대한 학습을 먼저 하시고 읽어보시길 추천합니다.
스킴이 많이 쓰이는 언어는 아닌데요.
저자가 이 언어를 사용한 이유는 문법이 극도로 단순하고 제한적인 규칙이 없어서 사용했습니다.
유연한 소프트웨어를 설계하려면 프로그래밍 개념을 학습하고 싶은 분들에게 이 책을 추천합니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."