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


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

Я прочитав «Прагматичний програміст» і зараз я читаю «Код завершений».

З мого досвіду, я вважаю, що «Прагматичний програміст» - це чудове місце для початку, оскільки він дає високу точку зору на різні проблеми кодування. Я читав це протягом тижня; коли я читав, мене одразу просвітили деякі кращі способи вирішення проблем, з якими я маю справу щодня.

"Код повний" довший і вичерпніший.


1

Я також читаю ці книги, ось моє замовлення:

  1. Чистий код
  2. Прагматичний програміст
  3. Код завершено

Дякуємо, що опублікували свою першу відповідь на Exchange Stack Exchange. Не впевнений, чому ви проголосували проти цього, але може бути так, що виборчий голос шукав не лише список, а й обґрунтування. Якщо ви цього ще не зробили, ознайомтесь із поширеними запитаннями, що містять поради щодо задавання питань та надання відповідей, а також нагороджуються знаком програмістів.stackexchange.com/ faq . Успіхів у майбутній участі в обміні стеками. Сподіваюся, ви знайдете це інформативним та корисним.
DeveloperDon

0

Ці книги мають високі заслуги.

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

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

Разом ці книги налічують понад 1500 сторінок. Це дуже багато читання, і ви правильно визначити черговість і скласти послідовність. Я пропоную вам завантажити зміст для всіх трьох і оцінити розділи в кожній з тих, що вам найбільше зараз потрібні для вашої роботи. Ви можете порівняти та порівняти їхні поради щодо найменування змінних та класів, але я думаю, якби прочитати про іменування один раз, було б достатньо. Аналогічно, якщо у вашої команди чи менеджера є рекомендації, дотримуйтесь їх.

Можливо, ви можете позичити їх у друга чи бібліотеки, перш ніж купувати їх. А може, навіть провести кілька годин у вашій місцевій книгарні. Якщо ви встановите час читання, перебираючи усі три на основі своїх пріоритетів, роблячи примітки на чистому аркуші паперу, ви знайдете словниковий запас та поняття, які ви можете застосувати на роботі сьогодні.

Прагматичний - це чудовий опис підходу до навчання, який ви хочете використовувати під час використання цих книг. Між трьома дуже багато перекриттів, і я думаю, що багато чого було переглянуто в доступних для Інтернету джерелах. Можливо, вам знадобиться багато речей, яких немає або в цих книгах, або їх ледве не торкається. Подумайте про те, щоб додати більше тем, які виходять за рамки цих книг:

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

Ще один погляд, який я можу допомогти, - це врахувати дату публікації, контекст та цілі кожної книги. Найдавніший до найновіших: Прагматичний 1999, Кодекс, завершений 2-е видання. 2004, чистий кодекс 2008. Контекст: Прагматичні списки C, C ++, Java у своєму індексі, але не C #. Код повний - Microsoft Press, написаний колишнім хлопцем Microsoft, і тому, що ви працюєте з мовою Microsoft, там може бути певна спорідненість, але індекс має один запис для C #, і він отримує менше кохання, ніж Fortran на сторінці 64.

Книга Роберта Мартіна більш глибока у підходному підході, ніж у двох інших, є найновішою та має кілька чудових описів імен, дизайну класів і, ймовірно, набагато більше допомагає у паралельності, ніж інші. Це може бути трохи несправедливо, але пізніші книги можуть говорити про більше та новіші речі, а їх контекст, як правило, більше схожий на те, що ми робимо сьогодні.

Кожна з цих книг певною мірою конкурує з аналогічним колом тем. Начебто ви хочете запитати: "Які нові, широко розповсюджені книги програмування змагаються в одному просторі?"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.