Что я должен прочитать, чтобы улучшить мой стиль C ++ - PullRequest
3 голосов
/ 05 февраля 2011

Я довольно долго разрабатывал на C / C ++ (в основном на C, что делает стиль более бедным).Итак, я знаю, как его использовать.Тем не менее, довольно часто я придерживался стилевых решений, таких как: - должен ли я возвращать код ошибки здесь, генерировать исключения, возвращать ошибку через параметр - должен ли я иметь все эти вещи в конструкторе или я должен создать отдельную функцию инициализации для этого.и т. д.

Будут работать любые решения.Тем не менее, у каждого из них есть свои плюсы и минусы, которые я знаю, а главное, которых я не знаю.

Было бы очень приятно почитать что-нибудь, касающееся общего стиля разработки C ++, практики кодирования и так далее.Что вы рекомендуете?

Ответы [ 5 ]

3 голосов
/ 05 февраля 2011

Вот список действительно хороших книг по C ++:

Полное руководство и список книг C ++

Читайте несколько из них в соответствии с вашим уровнем. Это, безусловно, улучшит ваш стиль кодирования!

Я бы лично предложил вам прочитать:

  • Эффективный C ++ серия C ++ Скотт Мейерс
  • Исключительная серия C ++ от Herb Sutter

Exceptional C ++ подробно рассматривает безопасный код. Прочитав эту книгу, я узнал, как исключительная безопасность влияет на дизайн классов и интерфейсов. Настоятельно рекомендуется!

3 голосов
/ 05 февраля 2011

Мне многие это рекомендовали, и у меня есть копия. Эффективный C ++: 55 конкретных способов улучшить ваши программы и дизайн (3-е издание) http://www.amazon.com/exec/obidos/ASIN/0321334876/christopherheng

2 голосов
/ 05 февраля 2011

Одна книга, в частности, выскакивает: C ++ Стандарты кодирования.Эта книга рекомендует некоторые слегка сомнительные / бесполезные идеи (например, postfix _ для участников), но в основном она очень солидная.

Следующими важными для стиля являются «Исключительные» книги Саттера.Хорошая вещь о них состоит в том, что они охватывают важные области, где C ++ довольно ... "отличается".В нем рассказывается, как защитить ваш код от исключений, и подробно объясняется влияние исключений на методы кодирования.

Книги Майерса тоже хороши, но немного устарели.Красные книги важнее ИМХО.

Еще одна устаревшая книга, которую часто упускают из виду, это «Общее программирование» и STL.Это почти, возможно IS, предстандарт, но в нем обсуждаются как и почему STL, что чертовски важно для любого разработчика C ++.Меня всегда удивляет, как удивляются люди, когда я показываю им немного кода для отправки тегов.

1 голос
/ 05 февраля 2011

Это старая книга, но я большой поклонник «Code Complete» от Microsoft.Это помогло мне подумать о некоторых вариантах дизайна, подобных тем, которые вы описали.Они защищают стратегию разработки кода, который помогает отлаживать себя.

Очень элементарный пример - тестирование переменных в операторе if

if(nCheck = 1) {
    // will always do this because nCheck was assigned 0
}

, если вы привыкли писать свои операторы ifкак следующий

if(1 = nCheck) {
    // Now the compiler will catch the assignment as an error
}

Ваш код должен помочь вам, обнаружив большинство простых синтаксических ошибок.Это только верхушка айсберга.В книге есть много примеров умных практик, которые Microsoft использовала на протяжении многих лет.

0 голосов
/ 05 февраля 2011

Для лучшего понимания C ++ и стиля я бы порекомендовал

  1. Эффективная серия C ++ от Meyers
  2. C ++ FAQs (книга) от Cline

Оба формата также легко читаются благодаря формату маленьких таблеток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...