Каков правильный порядок чтения этих книг? [закрыто]

25

Я младший разработчик C #, я учился дома, и теперь я получил свою первую работу :)

Я хочу купить эти книги. Но каков правильный порядок чтения этих книг?

Полный код: практическое руководство по созданию программного обеспечения

Чистый код: руководство по гибкому программному обеспечению

Прагматичный программист

Тарек Сайед
источник
6
Там нет правильного порядка (как сказал @Oded). Вы, вероятно, будете читать их (или, по крайней мере, их части) снова и снова. Так что выбирайте один, взламывайте крышку и переваривайте :)
Джоэл Этертон
8
Обычная мудрость гласит, что вы должны начинать с первой страницы и заканчивать на последней странице. ;)
vaughandroid
1
Я не вижу причин, чтобы понизить голос.
mmdemirbas
+1 к хорошей подборке нужных книг для дальнейших улучшений
Е.Л. Юсубов
Вот еще один вариант, который вам может понадобиться (многие считают это библией C # .NET): Pro C # 2010 и платформа .NET 4, выпуск с пятым выпуском (у них может даже быть один для .NET 5 и VS 2012 в ближайшее время).
Linuxios

Ответы:

44

Не существует «правильного» порядка чтения этих книг.

Каждый из них сосредоточен на различных аспектах разработки программного обеспечения.

  • Чистый код - ориентирован на кодирование в малом. Как писать классы и функции.
  • Code Complete - фокусируется на процессах разработки программного обеспечения.
  • Прагматичный программист - фокусируется на работе в команде, производящей программное обеспечение.
Одед
источник
7
@Downvoter - хотите прокомментировать?
Одед
12

Поздравляю с получением первой работы! И вы действительно сделали хороший выбор книг!

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

Из моего личного опыта я бы посоветовал читать книги взаимозаменяемо . Это факт, что вы можете устать / скучать от одной книги, и переключение на связанную книгу заставит вас переориентироваться, и за кадром ваш мозг начнет работать для обработки информации. Таким образом, вы можете извлечь максимальную выгоду из этого процесса.

Изменить: как уже упоминалось в комментарии, это своего рода многопоточное решение для повышения эффективности :)

Однако не перегревайте себя. С более чем 3 книгами может быть трудно иметь дело одновременно.

Е.Л. Юсубов
источник
8
Я нахожу забавным, что решение для программиста реальной проблемы заключается в реализации многопоточности :)
Rotem
@Rotem - Причина этого проста и очень похожа на регулярное выражение. Как только вы приступите к выполнению такой задачи, ваши проблемы в реальной жизни станут выглядеть гораздо менее серьезными ;-),
Joris Timmermans,
4

Я согласен с ответами «нет правильного порядка», но я предложу другое вращение ...

Начните и полностью переварите код завершения . Это самая основная, самая всеобъемлющая основа книги. Потратьте много времени на чтение и перечитывание. Это должно дать вам наибольшую отдачу, если вы новичок.

Ричард Морган
источник
2

Я только прочитал «Чистый код», и это было очень хорошо. Дядя Боб расскажет вам, как стать хорошим мастером программного обеспечения и как писать чистый код, который можно поддерживать даже в течение многих лет. Поэтому, возможно, вам следует сначала прочитать эту книгу :-) (хотелось бы, чтобы я читал ее раньше).

Если вы хотите получить более широкое представление (о зависимостях между модулями), я также могу порекомендовать его приведение кода: http://www.cleancoders.com/

Хабакук
источник
1

Я читал Pragmatic Programmer и сейчас читаю "Код завершен".

Исходя из своего опыта, я думаю, что «Pragmatic Programmer» - отличное место для старта, поскольку он дает общее представление о различных проблемах кодирования. Я читаю это в течение недели; когда я читал это, я сразу же узнал о некоторых лучших способах решения проблем, с которыми я сталкиваюсь каждый день.

«Код завершен» более длинный и исчерпывающий.

Печенье из рисовой муки
источник
1

Я также читаю эти книги, вот мой заказ:

  1. Чистый код
  2. Прагматичный программист
  3. Код завершен
Гомеро барбоза
источник
Спасибо за размещение вашего первого ответа на бирже программистов стека. Не уверен, почему у вас был отрицательный голос по этому вопросу, но возможно, что нижний избиратель искал не просто список, но и обоснование. Если вы этого еще не сделали, пожалуйста, прочитайте FAQ, который включает советы по вопросам и ответам и награжден значком programmers.stackexchange.com/faq . Удачи в вашем будущем участии в обмене стека. Я надеюсь, что вы найдете это информативным и полезным.
DeveloperDon
0

Эти книги имеют высокую ценность.

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

Чтение этих книг откроет вам множество идей, о которых вы даже не могли и мечтать. Позже, когда вы приобретете опыт, вы получите еще больше от этих книг, связывая то, что вы видели, с тем, что они описывают.

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

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

Pragmatic - отличное описание подхода к обучению, который вы хотите использовать при использовании этих книг. Между этими тремя понятиями много общего, и я думаю, что многое было пересмотрено в источниках, доступных через Интернет. Есть много вещей, которые вам могут понадобиться, которых нет в этих книгах или которые едва затронуты. Попробуйте добавить больше тем, которые выходят за рамки этих книг:

  • Учебники по языку программирования.
  • В ваших организациях используются инструменты управления исходным кодом и сборки.
  • Концепции и реализации структур данных в C #.
  • Стандартные библиотеки классов C #.
  • Стандарты кодирования, специфичные для вашей организации.
  • Тестирование, возможно, с помощью инструментов MS Test.
  • Рекомендации по разработке UI / UX для ваших платформ.
  • Применимые шаблоны проектирования, которые для C #, я бы ожидал, MVVM будет наиболее критичным.

Еще одно соображение, которое, я думаю, могло бы помочь, - это рассмотреть дату публикации, контекст и цели каждой книги. Старейшие и новейшие: Pragmatic 1999, Code Complete 2-е изд. 2004, Чистый код 2008. Контекст: Прагматичные списки C, C ++, Java в своем индексе, но не C #. Полный код - Microsoft Press, написанный бывшим парнем из Microsoft, и, поскольку вы работаете с языком Microsoft, в этом может быть некоторая близость, но в индексе есть одна запись для C #, и он получает меньше любви, чем Fortran на стр. 64.

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

Каждая из этих книг в той или иной степени конкурирует по схожему кругу тем. В некотором роде вы хотите спросить: «Какие новые книги по программированию с широким охватом конкурируют в одном пространстве?»

DeveloperDon
источник