"Delphi Master Breakthrough"는 출판된 지 거의 1년이 되었습니다. 이 기간 동안 저는 모든 이메일에 답장을 보내지 않았는데, 이로 인해 많은 독자들이 기분이 상했을 수도 있습니다. 그러나 많은 독자들이 자신이 구축하고 있는 시스템의 기술적인 세부 사항에 대해 문의하기 위해 이메일을 방문하고, 일부 독자들은 도움을 요청하기 위해 소스 코드를 보냅니다. 저도 아르바이트를 하고 있는데, 상사가 요구하는 시스템을 구축해야 하는데, 제가 작성한 소스 코드에도 수정해야 할 문제가 많습니다. 내 코드를 보는 데 도움을 줄 사람을 찾아보세요.
오늘은 책의 마지막 장에 나오는 텍스트 편집기 예제에 대해 이야기하고 싶습니다. 하하, 디자인이 너무 복잡하다고 생각하시는 독자분들도 계시는데, 저도 그렇게 생각합니다. 그러나 나는 마지막 장에 이러한 "복잡한 설계"의 예가 삽입된 것을 부정하지 않습니다.
우선, 이 책은 책입니다. 책의 내용은 일관되고 일관성이 있어야 합니다. 이 책의 내용은 사실 "잘 디자인된 코드를 만드는 방법"이라는 하나의 주제를 중심으로 전개됩니다. 처음 6장은 기본적으로 콜라 파이프에 휘발유를 넣는 것과 같은 매우 추상적인 예에 대한 설명입니다. 실제 예가 없으면 책 전체를 읽은 후에도 독자는 이전에 이해했던 내용을 이해하고 이전에 이해하지 못한 내용은 여전히 이해하지 못할 것입니다. 예를 통해 독자는 적어도 해당 이론이 "구현"되었다는 느낌을 갖게 됩니다.
둘째, 아마도 이 예제의 코드 디자인은 실제 적용에 비해 너무 복잡할 수 있습니다. 텍스트 편집기를 구현하는 것이 그렇게 번거로울 필요는 없습니다. 하하. 이러한 종류의 애플리케이션의 경우 코드 크기는 일반적으로 약 1000~2000줄 정도입니다. 실제로 편집기 구성 요소를 변경해야 하는 경우 다시 작성하는 것은 번거롭지 않습니다. 그러나 문제는 이 예가 아직도 책에 남아 있다는 점이다. 즉, 교구로서 그 역할은 단지 시연에 그치지 않고 독자에게 '디자인'이라는 인상을 남기게 하는 역할을 한다는 점이다. 그러므로 '디자인'의 흔적이 매우 심하고, 과잉수정이 과할 수밖에 없다.
또한 전문 프로그래머의 성장은 다음과 같은 3단계로 나누어질 것이라고 생각합니다.
1. 초급, 특징: 실행에 집중하고, 기능을 실현할 수 있다는 자부심을 가지고, 성취감을 앞으로 나아갈 동기로 활용합니다.
2. 중급, 특징: 코드의 양이 늘어남에 따라 이전에 작성한 것을 재사용하고 디자인에 관심을 갖고 디자인을 숭배하며 눈부신 디자인 기술을 내 프로그램에 사용하는 것에 자부심을 갖고 싶습니다.
3. 고급 기능: "예배" 디자인에서 복귀하여 더 나은 디자인의 코드를 쉽게 구축할 수 있지만 미쳐버리지는 않을 것입니다. 디자인을 위한 디자인
"Delphi Master's Breakthrough"라는 제목이 "Master's Breakthrough"라고는 하지만 사실 위에서 언급한 선배나 중급 프로그래머를 위해 쓴 것은 아닙니다. "마스터의 돌파구"라고 쓸 수도 있습니다. "마스터가 되는 궁극적인 길의 돌파구"로 이해됩니다.) 아직은 기능 구현에 집중하고 있는 후배 프로그래머들을 위해 쓴 글입니다. 적어도 개선 방향을 제시하고 싶습니다.
마지막으로, 책의 길이가 제한되어 있고, 예를 들어 아주 큰 규모의 응용을 만드는 것은 불가능합니다. 적어도 이 책에는 적합하지 않습니다. 중국 프로그래머들은 여전히 훨씬 더 가난하고, 그들의 글은 더 두껍고, 그것을 사는 사람들은 더 적습니다 :). 이 책을 쓴 원래 의도는 나처럼 혼란스러워하는 프로그래머들에게 약간의 도움을 주고, 우리가 정말로 깊이 있게 연구하고 싶다면 한 권의 책만으로는 충분하지 않다는 것입니다. 이런 인식이 있다면 큰 책을 사서 읽어도 됩니다.