Упс! Не вдала спроба:(
Будь ласка, спробуйте ще раз.

Що почитати, щоб опанувати мову програмування .NET — поради експертів NIX

IT-команда NIX
IT-команда NIX
10 січня 2025 12 хвилин читання

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

Книги, з яких варто стартувати вивчення .NET

Pro C# 10 with .NET 6: Foundational Principles and Practices in Programming (Eleventh Edition). Автор: Andrew Troelsen, Phil Japikse Pro C# 10 with .NET 6: Foundational Principles and Practices in Programming (Eleventh Edition). Автор: Andrew Troelsen, Phil Japikse

Ендрю Троелсен та Філ Джапіксе є розробниками з досвідом понад 30 років. За свою кар’єру кожен із них працював у багатьох компаніях, викладав, був спікером відомих конференцій. А головне — як поодинці, так і у партнерстві вони написали багато книг про програмування, зокрема й для популярної серії Pro C#.

11-те видання, про яке мова, є найбільш актуальним та повним посібником із C# та .NET. Передусім у книзі розкриті нові функції C# 10 та .NET 6 — як однофайлові програми та менші контейнери образів. Також автори розібрали Entity Framework Core, ASP.NET Core, Web API, Razor Pages та інші прикладні частини. Але книга не обмежується описом теорії та прикладами коду. Ендрю Троелсен та Філ Джапіксе намагаються розвинути у читача критичне мислення. Це дозволить створювати дійсно продуктивні та стабільні сервіси, настільні програми, вебзастосунки тощо.

The Book of the Runtime

<br>

Це не книга в традиційному значенні — це величезна за обсягом добірка документації на GitHub. Фактично це офіційний ресурс по .NET Runtime, який свого часу було створено інженерною командою для онбордингу новачків. До речі, в мережі можна знайти всі ці статті, зібрані в «книжний» файл на кшталт .epub чи .mobi.

Головна порада щодо The Book of the Runtime, або скорочено BotR: це варто читати тим, хто хоче розуміти більше про роботу .NET «під капотом». В статтях, які поступово писались впродовж всіх цих років із запуску ресурсу, детально описані компоненти CLR та BCL. Вони зосереджені не стільки на анотованому описі кодової бази, скільки на архітектурних рішеннях. Завдяки цьому підходу .NET-розробник може більш ефективно використовувати всі можливості платформи в цілому. Але треба пам’ятати: для початківця все це може бути занадто складним і навіть в чомусь не дуже потрібним.

CLR via C# (Fourth Edition).&nbsp;Автор: Jeffrey Richter CLR via C# (Fourth Edition). Автор: Jeffrey Richter

Джеффрі Ріхтер максимально занурений у світ Microsoft. У нього за плечима позиції архітектора у Microsoft Azure та консультанта у команді .NET Framework (з 1999 року!). Також він був позаштатним редактором журналу MSDN Magazine, створив декілька онлайн-курсів з програмування та написав багато книг про Windows та .NET.

Серед творів Ріхтера видання CLR via C# займає особливе місце. Ця книга пережила вже 4 оновлення та заслужила титул «біблії для .NET-розробника». Фактично вона є повноцінним посібником, де розібрано принципи внутрішньої роботи .NET Framework. У книзі автор дає глибоке занурення в архітектуру фреймворку, середовище виконання, асинхронне програмування тощо. Також Ріхтер у легкій та зрозумілій формі розбирає такі складні концепції, як генерики та потоки, і надає розширені зразки коду. Все це дозволяє глибше зрозуміти базові концепції самої платформи .NET.

Книги про базові принципи програмування

Стек .NET, як і будь-який інший, є лише інструментом. Його використання багато в чому базується на розумінні проблематики розробки ПЗ як такого. Тому досвідченим розробникам варто читати книги не тільки про свою мову, але й про фундаментальні проблеми. Ці видання хоч і не дадуть чітких відповідей, але надихнуть на власні рішення.

Підписуйтеся на наші соцмережі

Patterns of Enterprise Application Architecture.&nbsp;Автор: Martin Fowler Patterns of Enterprise Application Architecture. Автор: Martin Fowler

У портфоліо Мартіна Фаулера — чимало книг про програмування. Він охопив багато тем: від UML та NoSQL до рефакторингу коду й екстремального програмування. Але найцікавішою для самого автора темою є архітектура ПЗ. На думку Фаулера, якщо припуститися помилки на цьому рівні, важко зробити гарний і масштабований продукт.

Можливо, саме тому Patterns of Enterprise Application Architecture є чи не найбільш вдалою книгою Мартіна Фаулера. Це — справжня енциклопедія проблем і рішень у розробці ПЗ на основі багаторівневих об'єктноорієнтованих платформ. Видання анітрохи не застаріло, до нього можна повертатися навіть через роки! Автор описав понад 40 перевірених часом шаблонів для створення корпоративних застосунків, зокрема їх використання, бізнес-логіку та впровадження. А для якіснішого розуміння до кожного патерну додано приклади коду на Java і C# та діаграми UML.

Clean Code: A Handbook of Agile Software Craftsmanship.&nbsp;Автор: Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship. Автор: Robert C. Martin

Дядечко Боб — таке прізвисько у світовій IT-спільноті має Роберт Мартін. І сам факт наявності всім відомого нікнейму багато що говорить про масштаб особистості! Ця людина займається програмуванням понад 50 (!) років, є одним зі співавторів Agile-маніфесту та засновником моделі SOLID, без якої важко уявити сучасну розробку.

Мартін написав багато книг про програмування, але ключова — ця. Адже, мабуть, у кожній проєктній команді рано чи пізно початківця попросять слідувати порадам щодо гарного коду саме з Clean Code. У цьому виданні автор доводить, чому важливо писати чисто. Дядечко Боб торкається буквально всього: від створення функцій і класів до евристик на виявлення та очищення брудної кодової бази. До того ж теорія доповнена зрозумілими прикладами та нескладними вправами, що робить книгу гарним варіантом для новачків, які бажають писати справді читабельний код.

Domain-Driven Design: Tackling Complexity in the Heart of Software (1st Edition).&nbsp;Автор: Eric Evans Domain-Driven Design: Tackling Complexity in the Heart of Software (1st Edition). Автор: Eric Evans

Ерік Еванс розпочав свій шлях у програмуванні у 1980-х роках. Він працював над Java-проєктами у різних сферах: від доставки й фінансів до страхування та автоматизації виробництва. Але головне його досягнення — формування концепції DDD, скорочення від Domain-Driven Design. Цьому підходу він присвятив чимало тренінгів та публікацій.

Ключова праця з цієї теми — перед вами. Загалом про DDD є й у Patterns of Enterprise Application Architecture, але Фаулер розкрив ідею лише на базовому рівні. А ось Еванс дуже методично розповідає, як орієнтація на домен допоможе у проєктуванні програм. Це працює буквально в усьому: від структурування застосунку та написання передбачуваного коду до керування життєвим циклом об’єктів і рефакторингу. Цікаво, що багато хто називає видання «синьою книгою» — за кольором обкладинки. Адже вона не потребує додаткових уточнень і є вже обов’язковою для розвитку розробників.

Clean Architecture: A Craftsman's Guide to Software Structure and Design.&nbsp;Автор: Robert C. Martin Clean Architecture: A Craftsman's Guide to Software Structure and Design. Автор: Robert C. Martin

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

Роберт Мартін зі своєю фірмовою систематичністю розбирає, як будувати архітектуру застосунків. Він описує основні принципи проєктування ПЗ для розділення компонентів й керування даними та розповідає про оптимальні високорівневі структури для тих чи інших задач (вебсервіси, бази даних, консолі тощо). Також автор на прикладах вчить відрізняти важливі й другорядні речі в архітектурі та перелічує типові помилки (плюс дає поради, як їх виправити). Ця інформація буде корисною не тільки для інженерів або архітекторів, але й системних аналітиків, дизайнерів та проєктних менеджерів.

Що ще важливо знати .NET-розробнику

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

The Art of Unit Testing: with examples in C# (2nd Edition).&nbsp;Автор: Roy Osherove The Art of Unit Testing: with examples in C# (2nd Edition). Автор: Roy Osherove

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

Однією з ключових книг Роя є The Art of Unit Testing: with examples in C#. Вона допоможе вам отримати максимально практичні навички зі створення selftested-коду. Автор послідовно розбирає юніт-тестування: від простих зразків до повноцінних наборів тестів і створення шаблонів. До того ж Ошеров приділяє багато уваги окремим фреймворкам, як Moq чи FakeItEasy. А ще книга вчить проводити рефакторинг, зокрема й коду, який взагалі не проходив тестування. Окрім модульних тестів, також тут є трохи про інтеграційне тестування та техніки й тулзи для тестування баз даних.

Extreme Programming Explained: Embrace Change (2nd Edition).&nbsp;Автор: Kent Beck, Cynthia Andres Extreme Programming Explained: Embrace Change (2nd Edition). Автор: Kent Beck, Cynthia Andres

Кент Бек та Синтія Андрес є спеціалістами у різних галузях. Він здобув ступінь магістра комп’ютерних наук, а вона — бакалавр з психології. Проте у розробці обидва є адептами радикальних рішень, передусім екстремального програмування та TDD, скорочення від Test-Driven Development, або керована тестами розробка.

Extreme Programming Explained: Embrace Change варто рекомендувати тим, хто хоче більше розуміти саме про TDD та нюанси тестування коду. Автори пишуть в доступній та лаконічній формі про складні концепції. Вони наводять багато прикладів та практик, які допоможуть спростити не просто написання тестів чи коду, але сам життєвий цикл розробки ПЗ. Та треба розуміти: книга в багатьох випадках не дає прямих відповідей. Автори часто лише ставлять слушні запитання. Це, з одного боку, може розчарувати когось. Але з іншого, це спонукає до роздумів та глибшого розуміння теми.

OWASP Developer Guide

Open Web Application Security Project, скорочено OWASP, є поважною некомерційною організацією. Вона з’явилась у 2001 році задля дослідження та покращення безпеки ПЗ. OWASP відстежує найбільші ризики для софту, створює поради щодо методів та тулзів безпечного програмування, а також презентує освітні програми з цих тем.

OWASP Developer Guide, як і The Book of the Runtime, не є книгою (хоча існують версії й у PDF). Це великий онлайн-посібник про те, як створювати захищені вебсервіси та застосунки. Перша версія гайду з’явилась у 2002 році, але він постійно актуалізується під нові загрози. OWASP Developer Guide надає широке й глибоке розуміння концепцій безпеки та є добре структурованим. Він послідовно описує принципи безпеки на всіх стадіях життєвого циклу розробки: від вимог та проєктування до тестів та експлуатації продукту. В посібнику багато конкретних інструкцій, найкращих практик та інструментів.

A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra).&nbsp;Автор: Barbara Oakley A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra). Автор: Barbara Oakley

У Барбари Оклі досить тернистий професійний шлях. Вона будувала кар’єру в армії (дослужилась до капітана-зв’язківця), здобула ступінь бакалавра з лінгвістики, провела сезон на Антарктичній станції як радистка, а потім навчалась на інженера радіотехніки й комп’ютерної інженерії та здобула на цьому фронті ступінь PhD.

Можливо, саме через таке поєднання знань із різних галузей їй і вдалася ця книга. У A Mind for Numbers авторка доводить: не існує гуманітаріїв чи технарів. Кожен може мислити й логічно, й креативно — залежно від ситуації. У книзі Оклі наводить багато інструментів, які дозволять вам швидше запам’ятовувати нову інформацію, ефективно використовувати свій час, боротися з прокрастинацією та робити навчання легким і цікавим. При цьому авторка показує, які популярні методи навчання насправді не працюють. Все це доповнюється прикладами та навіть анекдотичними історіями.

Подібних книг можна рекомендувати безліч. Тим паче не існує універсальних видань, які підійдуть кожному. Все індивідуально, залежить від ваших задач і прагнень у програмуванні. Та які б джерела для вивчення .NET чи іншого напряму ви не обрали — не зупиняйтесь на цьому, читайте та практикуйтеся більше. Лише так ви матимете основу для професійного росту та зможете втілювати дійсно якісні ІТ-рішення.

Підписуйтеся на наші соцмережі

Якщо ви хочете поділитися з читачами SPEKA власним досвідом, розповісти свою історію чи опублікувати колонку на важливу для вас тему, долучайтеся. Відтепер ви можете зареєструватися на сайті SPEKA і самостійно опублікувати свій пост.
0
Прокоментувати
Інші матеріали

Ajax завершив перше стажування студентів в КАІ

Вікторія Рудзінська 14 грудня 2024 07:58

Projector Foundation та Uklon запускають безплатне навчання для військових і ветеранів

Павло Бартос 10 грудня 2024 18:54

«Щоб писати лайнокод, потрібно вміти писати код» — IT-школа robot_dreams про змагання для айтівців

Сергій Коноплицький 15 жовтня 2024 16:12

Googlе запрошує на безкоштовну навчальну програму «Основи кібербезпеки для бізнесу» з практичним семінаром зі штучного інтелекту

Віталій Новак 8 жовтня 2024 12:04

Кількість першокурсників в IT зменшилась на 30%

Вікторія Рудзінська 7 жовтня 2024 21:36