《Design Patterns》(번역서는 《GoF의 디자인 패턴》)는 객체 지향 언어에서 자주 발생하는 문제에 대한 유용한 해결책/설계를 패턴으로 정리한 책입니다. 객체 지향 언어를 다루는 소프트웨어 개발자들에게 디자인 패턴에 대한 개념을 널리 알렸습니다.

하지만 절차 지향 언어인 C에는 이런 종류의 패턴 가이드를 찾기가 쉽지 않습니다. C는 객체 지향 언어보다 훨씬 오래된 언어인데도 왜 이런 조언을 찾기가 쉽지 않을까요?

《우아한 C 언어 코딩 패턴》은 이런 문제의식에서 출발한 책입니다. 저자인 크리스토퍼 프레셰른은 대학에서 C를 배우고 졸업한 후 처음 취업했을 때 배운 문법을 실제로 어떻게 적용해야 하는지 막막한 상황을 계속해서 맞닥뜨렸습니다. 그때마다 주변 동료들에게 물어보고 인터넷에서 검색도 하면서 하나로 잘 정리된 가이드 같은 게 없다는 사실을 확인할 수 있었습니다. 이제 경험 많은 임베디드 C 프로그래머가 된 저자는 C 언어에도 《Design Patterns》 같은 책이 있어야 한다는 생각으로 이 책을 집필했습니다.

《우아한 C 언어 코딩 패턴》은 오류 처리, 메모리 관리, 파일 구성 등 실무에서 만날 수 있는 다양한 문제에 접근하는 방법을 정리하여 패턴으로 제공합니다. 그리고 실행 예제를 통해 어떻게 적용할지, 그리고 어떤 결과가 도출되는지를 보여줍니다. 1부에서는 C 프로그래밍 언어에 특화된 실무 설계 지식을 구현하는 방법을 배우고, 2부에서는 C 프로그래밍 패턴을 적용하여 더 큰 프로그램을 구현한 사례를 소개합니다. 좋은 설계 결정이라는 관점에서 패턴이 어떻게 개발자의 업무를 더 쉽게 만들어 주는지 배우게 됩니다. 또 C 언어를 위한 좋은 정보를 찾느라 고생한 자신의 경험을 반영하여, 참고할 만한 좋은 C 코드를 볼 수 있는 다른 참고 도서, 웹 사이트, 논문 들도 소개합니다.

1장에서는 오류를 처리하는 6가지 패턴을 제시합니다.

이 책에서 다루는 내용

• 오류 처리

• 오류 정보 반환

• 메모리 관리

• C 함수에서의 데이터 반환

• 데이터 수명과 소유권

• 유연한 API

• 반복자 인터페이스

• 모듈화 프로그램에서의 파일 구성

• #ifdef 지옥 탈출

“실전 예제로 가득 찬《 우아한 C 언어 코딩 패턴》은 더 깔끔하게 코딩하고, 코드를 더 쉽게 유지·관리할 수 있게 만들어 줄 것이다.”

– 데이비드 그리피스(David Griffiths), 《Head First C》 저자

“《우아한 C 언어 코딩 패턴》은 초보자도 C 언어로 산업 수준의 견고한 제품을 만들 수 있도록 안내한다.”

– 로버트 핸머(Robert Hanmer), 소프트웨어 아키텍트

《우아한 C 언어 코딩 패턴》은 다음 서점에서 구입하실 수 있습니다.

교보문고 | 알라딘 | YES24

이 책의 예제 코드는 다음 링크에서 다운로드 받으실 수 있습니다.

https://github.com/christopher-preschern/fluent-c