Ефективно програмиране със C#
- Издател: Алекс Софт
Обхваща C# 6.0. 50 конкретни начина за подобряване на вашия C#.
В книгата "Ефективно програмиране със C#", трето издание, уважаваният експерт по .NET Бил Уогнър разглежда 50 начина за овладяване на пълната сила на езика C # 6.0 с цел създаването на изключително мощен, ефективен и добре работещ код.
Отчитайки нарастващите възможности на езика C# и неговата общност от разработчици, Уогнър препоръчва десетки нови начини за писането на по-добър код. Новите решения, предлагани в това издание, включват такива, които се възползват от общите възможности, както и няколко, които са повече фокусирани върху LINQ, както и цяла една глава за най-съвременните препоръчвани практики за работа с изключения.
Ясните практически насочени на Уогнър, експертните съвети и реалистичните примери с код правят книгата Ефективно програмиране със C# неоценим помощник за стотици хиляди разработчици. Разчитайки на своя изключителен опит със C#, той разглежда всякакви теми, от управлението на ресурси до многопроцесорна поддръжка, и дава информация как да бъдат избегнати най-често срещаните недостатъци на езика и неговата среда .NET. Ще научите как да изберете най-ефективното решение тогава, когато разполагате с много възможности, и как да създавате код, който да е много по-лесен за поддръжка и усъвършенстване.
Уогнър показва как и защо вие трябва да:
- предпочитате изрично типизирани локални променливи (виж Тема 1);
- замествате string.Format() с интерполирани низове (виж Тема 4);
- изразявате обратни извиквания с делегати (виж Тема 7);
- извлечете максимума от управлението на ресурси на .NET (виж Тема 11);
- дефинирате минимални максимални ограничения за шаблонни типове (generics) (виж Тема 18);
- задавате генерични алгоритми, използвайки проверка на типа по време на изпълнение (виж Тема 19);
- използвате делегати, за да дефинирате ограничения на методи върху типови параметри (виж Тема 23);
- подсилвате минимални интерфейсни контракти чрез методи за разширяване (виж Тема 27);
- създавате композируеми интерфейси API за последователности (виж Тема 31);
- отделяте итерации от действия, предикати и функции (виж Тема 32);
- предпочитате ламбда изрази пред методи (виж Тема 38);
- различавате ранното и отложеното изпълнение (виж Тема 40);
- избягвате прехващането на ценни ресурси (виж Тема 41);
- използвате изключения, за да докладвате за неуспешни методи на контракти (виж Тема 45);
- постигате странични ефекти във филтри на изключения (виж Тема 45).
Вие вече може би сте успешен програмист на C#, но тази книга ще ви направи изключителен такъв.
Бил Уогнър създава материали за обучение по .NET за Microsoft. Той е един от най-добрите експерти в света по C# и е член на комитета ECMA C# Standards Committee. Като президент на Humanitarian Toolbox, той е също служител на .NET Foundation Advisory Council and Technical Steering Committees. Уогнър е работил за компании от стартъпи до големи форми, подобрявайки процесите за разработване и разрастване на групите за разработване. Международно признат писател, той е автор на първите две издания на тази книга, както и на More Effective C#. Той е носител на бакалавърска степен от University of Illinois at Champaign-Urbana.
Идиоми на езика C#
- Тема 1: Предпочитайте типизирани по подразбиране локални променливи
- Тема 2: Предпочитайте readonly пред const
- Тема 3: Предпочитайте операторите is или as за преобразуване
- Тема 4: Заместете string.Format() с интерполирани низове
- Тема 5: Предпочитайте FormattableString за специфични за културата низове
- Тема 6: Избягвайте типизираните по string интерфейси API
- Тема 7: Изпълнявайте обратните извиквания чрез делегати
- Тема 8: Използвайте условния оператор null за извиквания на събития
- Тема 9: Минимизирайте опаковането и разопаковането
- Тема 10: Използвайте модификатора new само за да
Управление на ресурси на .NET
- Тема 11: Разбиране на управлението на ресурси на .NET
- Тема 12: Предпочитайте членове-инициализатори през оператори за задаване
- Тема 13: Използвайте правилното инициализиране за статични членове на клас
- Тема 14: Минимизирайте дублираната логика за инициализиране
- Тема 15: Избягвайте създаването на излишни обекти
- Тема 16: Никога не извиквайте виртуални функции в конструктори
- Тема 17: Реализиране на стандартния образец Dispose
Работа със шаблонни типове
- Тема 18: Винаги дефинирайте ограничения, които са минимални и достатъчни
- Тема 19: Специализирайте шаблонните алгоритми, използвайки проверка на типа по време на изпълнението
- Тема 20: Реализирайте подреждащи връзки чрез IComparable и IComparer
- Тема 21: Винаги създавайте шаблонни класове, които поддържат параметри за типа за еднократна употреба
- Тема 22: Поддържайте шаблонна ковариация и контравариация
- Тема 23: Използвайте делегати, за да дефинирате ограниченията на методи за типови параметри
- Тема 24: Не създавайте шаблонна специализация на базови класове или интерфейси
- Тема 25: Предпочитайте шаблонните методи, освен ако типовите параметри не са инстанционни полета
- Тема 26: Реализирайте класически интерфейси като допълнение на шаблонните интерфейси
- Тема 27: Усилване на минималните контракти на интерфейси с
- Тема 28: Обмислете разширяването на конструираните
Работа с LINQ
- Тема 29: Предпочитайте итераторни методи пред връщането на колекции
- Тема 30: Предпочитайте синтаксиса на заявките пред циклите
- Тема 31: Създавайте композируеми интерфейси API за последователности
- Тема 32: Разделяйте итерациите от действията, предикатите и функциите
- Тема 33: Генерирайте елементите на последователност при поискване
- Тема 34: Разхлабете свързването, като използвате функции параметри
- Тема 35: Никога не презареждайте методите за разширение
- Тема 36: Разберете какво е съответствието на изразите на заявки към извикванията на методи
- Тема 37: Предпочитайте мързеливото изчисляване пред активното изчисляване в заявки
- Тема 38: Предпочитайте ламбда изрази през методи
- Тема 39: Избягвайте подаването на изключения във функции и действия
- Тема 40: Правете разлика между ранното и отложеното изпълнение
- Тема 41: Избягвайте прехващането на скъпоценни ресурси
- Тема 42: Правете разлика между източниците за данни IEnumerable и IQueryable
- Тема 43: Използвайте Single() и First(), за да налагате семантични предвиждания върху заявки
- Тема 44: Избягвайте промяната на свързани променливи
Практики за изключения
- Тема 45: Използвайте изключения за докладване на неуспехи при контрактите на методи
- Тема 46: Използвайте using и try/finally за почистването на ресурси
- Тема 47: Създавайте пълни специфични по отношение на приложението класове за изключения
- Тема 48: Предпочитайте силните гаранции за изключения
- Тема 49: Предпочитайте филтрите за изключения пред catch и re-throw
Поръчките от Онлайн книжарница Ciela.com се доставят от Спиди, Еконт и BoxNow за България, и от Български пощи за чужбина.
- За поръчки под 50 лв., стойността на доставката е фиксирана на 5,99 лв.
- За поръчки с BOX NOW доставката е 3,99 лв.
- За поръчки на обща стойност над 50 лв. доставката е безплатна.
- За чужбина доставката се изчислява според тарифите на Български пощи, и зависи от избраната държавата, броя, големината и теглото на поръчаните продукти. Крайната стойност се визуализира, преди завършване на поръчката.
- За поръчка на правен софутер няма доставка. Получавате потребителско име и парола по предоставен имейл след потвърдено заплащане.
Автор | Бил Уогнър |
---|---|
Издателство | Алекс Софт |
ISBN | 9789546564528 |
Година на издаване | 2022 |
Корица | мека |
Страници | 328 |
Формат | 16.5 x 23.5 x 1.6 см. |
Език | български |