Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki
- Autor:
- Jason Alls
- Ocena:
- 3.3/6 Opinie: 4
- Stron:
- 440
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki
Język C# cechują dojrzałość, prostota i nowoczesność. Służy on do wielu celów: do tworzenia aplikacji sieciowych, aplikacji działających w chmurze, oprogramowania dla urządzeń mobilnych i internetu rzeczy. Choć pozwala na pisanie kodu bezpiecznego, przejrzystego, wydajnego i prostego w konserwacji, zdarzają się przypadki, gdy jest on tak fatalnej jakości, że uzyskanie właściwej skalowalności i wydajności oprogramowania staje się niemożliwe. W takim wypadku trzeba zidentyfikować i rozwiązać problemy występujące w kodzie. Nie jest to łatwe zadanie.
Dzięki tej książce zrozumiesz znaczenie standardów kodowania, zasad i metodologii. Dowiesz się, czemu służą przeglądy kodu oraz jak przyczyniają się do jego poprawiania oraz zapewnienia zgodności z uznanymi standardami. Opisano tu także testy jednostkowe, zagadnienia związane z techniką TDD oraz rozwiązywaniem zadań przekrojowych. Zaprezentowano dobre praktyki programowania obiektów, struktur danych, obsługiwania wyjątków oraz innych aspektów pisania programów w języku C#. Poszczególne zagadnienia zilustrowano licznymi przykładami działającego kodu C# oraz wyczerpującymi wyjaśnieniami w postaci procedur krok po kroku.
W książce między innymi:
- dobre praktyki pisania kodu w C#
- implementacja metodologii fail-pass-refactor dla kodu w C#
- wzorce projektowe i ich stosowanie
- rozpoznawanie kodu złej jakości
- zabezpieczanie interfejsów API i usługa Azure Key Vault
- wykorzystywanie narzędzi do profilowania i refaktoryzacji
C#. Sekret sukcesu tkwi w czystym i najbardziej przejrzystym kodzie
Język C#, historycznie związany z tworzeniem aplikacji desktopowych i gier dla systemu Windows, jest obecnie używany w wielu różnych dziedzinach, takich jak aplikacje webowe i aplikacje w chmurze. C# zyskuje również popularność w aplikacjach mobilnych. Pomimo rozbudowanych struktur kodu, profesjonaliści stosujący język C#, z powodu złego kodu, doświadczają problemów związanych z wydajnością, skalowalnością i możliwościami utrzymania. Książka Czysty kod w C# pomoże Czytelnikowi zidentyfikować problemy występujące w kodzie oraz rozwiązać je dzięki zastosowaniu najlepszych praktyk kodowania.
Książka rozpoczyna się od porównania dobrego i złego kodu, co pomaga zrozumieć znaczenie stosowania standardów kodowania, zasad i metodologii. Następnie zaprezentowano ideę przeglądów kodu oraz ich rolę w poprawianiu kodu oraz zapewnieniu zgodności z uznanymi w branży standardami kodowania. Dalej opisano testy jednostkowe, zagadnienia związane z techniką TDD oraz rozwiązywaniem zadań przekrojowych. Opisano dobre praktyki programowania obiektów, struktur danych, obsługiwania wyjątków oraz innych aspektów pisania programów w języku C#. Po przestudiowaniu projektowania API i zapoznaniu się z narzędziami do poprawy jakości kodu, Czytelnik będzie potrafił rozpoznać zły kod i będzie wiedział, jakich praktyk kodowania powinien unikać.
Po zakończeniu lektury tej książki, Czytelnik zdobędzie umiejętności potrzebne do stosowania uznanych w branży praktyk kodowania w celu pisania czystego, czytelnego, rozszerzalnego i łatwego w utrzymaniu kodu w języku C#.
W tej książce omówiono następujące zagadnienia:
- Pisanie kodu, który pozwala na modyfikowanie i dostosowywanie oprogramowania do zmieniających się wymagań.
- Implementacja metodologii fail-pass-refactor (test nie przechodzi - test przechodzi - refaktoryzacja) z wykorzystaniem przykładowej konsolowej aplikacji w C#.
- Rozwiązywanie problemów przekrojowych za pomocą wzorców projektowych.
- Pisanie w języku C# niestandardowych wyjątków dostarczających opisowych informacji.
- Identyfikowanie kodu złej jakości w celu refaktoryzacji.
- Zabezpieczanie interfejsów API za pomocą kluczy API i ochrona danych z użyciem usługi Azure Key Vault.
- Poprawianie wydajności kodu z wykorzystaniem narzędzi do profilowania i refaktoryzacji
Wybrane bestsellery
-
Learn how to write readable, maintainable, and high-performing code with this clean coding guide encompassing coding best practices, including industry standards, code analysis, and code smell detection, and effective code refactoring. Additionally, you’ll also cover functional programming...
Clean Code with C#. Refactor your legacy C# code base and improve application performance using best practices - Second Edition Clean Code with C#. Refactor your legacy C# code base and improve application performance using best practices - Second Edition
-
Clean Code in C# addresses the modern-age software development concerns across the various domains such as Windows desktop applications, web applications, cloud applications, and so on. You will be able to understand how to correct the problems such as code inefficiency, redundancy, duplication a...
Clean Code in C#. Refactor your legacy C# code base and improve application performance by applying best practices Clean Code in C#. Refactor your legacy C# code base and improve application performance by applying best practices
-
This book provides comprehensive guidance on how to design high-performance software using practical examples to help you understand the key factors involved in boosting application performance. By the end of this book, you’ll have gained a competitive advantage by thoroughly understanding...
High-Performance Programming in C# and .NET. Understand the nuts and bolts of developing robust, faster, and resilient applications in C# 10.0 and .NET 6 High-Performance Programming in C# and .NET. Understand the nuts and bolts of developing robust, faster, and resilient applications in C# 10.0 and .NET 6
-
Ten szczegółowy przewodnik pozwoli Ci na błyskawiczne zapoznanie się z .NET MAUI i sprawne rozpoczęcie pisania aplikacji za pomocą tej technologii. Zaprezentowano w nim filozofię działania .NET MAUI, jak również przebieg prac nad tworzeniem kompletnej aplikacji wieloplatformowej dla systemów: And...
Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych
(47.40 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
To książka przeznaczona dla programistów zaznajomionych z podstawami języka C# i platformy .NET, chcących zdobyć umiejętność tworzenia rzeczywistych aplikacji i usług. Opisuje wyspecjalizowane biblioteki, które umożliwiają monitorowanie i zwiększanie wydajności aplikacji, zabezpieczanie ich wraz ...
Aplikacje i usługi na platformie .NET 7. Tworzenie praktycznych projektów opartych na programach Blazor, .NET MAUI, gRPC, GraphQL i innych zaawansowanych technologiach Aplikacje i usługi na platformie .NET 7. Tworzenie praktycznych projektów opartych na programach Blazor, .NET MAUI, gRPC, GraphQL i innych zaawansowanych technologiach
(101.40 zł najniższa cena z 30 dni)109.85 zł
169.00 zł(-35%) -
Ta książka ma pełnić funkcję użytecznej ściągawki zawierającej wszystko, co potrzebne do pracy z C#. Została pomyślana tak, aby maksymalnie ułatwić przeglądanie i odnajdywanie potrzebnych treści — i tym samym wesprzeć pracę każdego, komu zależy na sprawnym pisaniu kodu w języku C#. Jest też...(14.90 zł najniższa cena z 30 dni)
14.90 zł
49.90 zł(-70%) -
To książka dla każdego, kto chce osiągnąć programistyczne oświecenie! Jest napisana w innowacyjny sposób, przyjaznym i zrozumiałym językiem, aby każdy adept programowania zdobył wiedzę i umiejętności potrzebne do pisania dobrego, użytecznego kodu. Dzięki niej nauczysz się myśleć jak zawodowy prog...(9.90 zł najniższa cena z 30 dni)
44.50 zł
89.00 zł(-50%) -
C# to obecnie jeden z najważniejszych, najpopularniejszych i najbardziej wszechstronnych obiektowych języków programowania, nic więc dziwnego, że na rynku dostępnych jest mnóstwo publikacji na jego temat. Niestety, są to przeważnie opasłe tomy, zupełnie nieprzydatne jako pomoc w codziennej pracy.(6.90 zł najniższa cena z 30 dni)
8.49 zł
17.00 zł(-50%) -
From interview preparation to onboarding tips and tricks, The Complete Power BI Interview Guide is the ultimate resource for aspiring Power BI job seekers who want to learn the essentials skills stand out from the competition.
The Complete Power BI Interview Guide. A modern approach to acing the data analyst interview and landing your dream job The Complete Power BI Interview Guide. A modern approach to acing the data analyst interview and landing your dream job
Sandielly Ortega Polanco, Gogula Aryalingam, Abu Bakar Nisar Alvi
(100.08 zł najniższa cena z 30 dni)104.25 zł
139.00 zł(-25%) -
This revised and expanded guide teaches you how to use .NET MAUI for cross-platform development. You will learn how to handle data with the MVVM model, use Blazor UI tools, and migrate from Xamarin.Forms for modern hybrid app development.
.NET MAUI Cross-Platform Application Development. Build high-performance apps for Android, iOS, macOS, and Windows using XAML and Blazor with .NET 8 - Second Edition .NET MAUI Cross-Platform Application Development. Build high-performance apps for Android, iOS, macOS, and Windows using XAML and Blazor with .NET 8 - Second Edition
O autorze ebooka
Jason Alls od ponad dwóch dekad jest programistą. Specjalizuje się w wykorzystywaniu technologii Microsoftu. Tworzył aplikacje marketingowe GIS, zajmował się bazami danych w sektorze bankowym, a także różnymi aplikacjami desktopowymi, internetowymi i mobilnymi. W 2005 roku zdobył certyfikat MCAD. Obecnie rozwija i utrzymuje oprogramowanie do badania i oceny dysleksji, napisane w ASP.NET, Angularze i C#.
Zobacz pozostałe książki z serii Packt
-
Oto kompleksowe omówienie sposobów wdrażania najnowszych dostępnych środków zabezpieczających systemy linuksowe. Z książki dowiesz się, jak skonfigurować laboratorium do ćwiczeń praktycznych, tworzyć konta użytkowników z odpowiednimi poziomami uprawnień, chronić dane dzięki uprawnieniom i szyfrow...
Bezpieczeństwo systemu Linux. Hardening i najnowsze techniki zabezpieczania przed cyberatakami. Wydanie III Bezpieczeństwo systemu Linux. Hardening i najnowsze techniki zabezpieczania przed cyberatakami. Wydanie III
(77.40 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Ta książka pomoże Ci w doskonaleniu umiejętności potrzebnych na każdym etapie dochodzenia cyfrowego, od zbierania dowodów, poprzez ich analizę, po tworzenie raportów. Dzięki wielu wskazówkom i praktycznym ćwiczeniom przyswoisz techniki analizy, ekstrakcji danych i raportowania przy użyciu zaawans...
Informatyka śledcza i Kali Linux. Przeprowadź analizy nośników pamięci, ruchu sieciowego i zawartości RAM-u za pomocą narzędzi systemu Kali Linux 2022.x. Wydanie III Informatyka śledcza i Kali Linux. Przeprowadź analizy nośników pamięci, ruchu sieciowego i zawartości RAM-u za pomocą narzędzi systemu Kali Linux 2022.x. Wydanie III
(59.40 zł najniższa cena z 30 dni)64.35 zł
99.00 zł(-35%) -
Oto uzupełnione i zaktualizowane wydanie bestsellerowego przewodnika dla inżynierów sieci. Dzięki niemu przejdziesz trudną (ale ekscytującą!) drogę od tradycyjnej platformy do platformy sieciowej opartej na najlepszych praktykach programistycznych. Zaczniesz od zagadnień podstawowych, aby następn...
Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV
(77.40 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
Oto zaktualizowane wydanie bestsellerowego przewodnika dla architektów rozwiązań. Dzięki niemu dobrze poznasz wzorce projektowe wbudowane w chmurę, czyli model AWS Well-Architected Framework. Zaznajomisz się z sieciami w chmurze AWS z uwzględnieniem sieci brzegowych i tworzeniem hybrydowych połąc...
AWS dla architektów rozwiązań. Tworzenie, skalowanie i migracja aplikacji do chmury Amazon Web Services. Wydanie II AWS dla architektów rozwiązań. Tworzenie, skalowanie i migracja aplikacji do chmury Amazon Web Services. Wydanie II
Saurabh Shrivastava, Neelanjali Srivastav, Alberto Artasanchez, Imtiaz Sayed
(83.40 zł najniższa cena z 30 dni)90.35 zł
139.00 zł(-35%) -
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środo...
Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%) -
Oto praktyczny, przystępnie napisany przewodnik, który stanowi wprowadzenie do pracy z technologią Blazor. Opisuje możliwości modeli Server i WebAssembly, przedstawia także krok po kroku proces powstawania aplikacji internetowej. Dzięki temu płynnie przejdziesz do tworzenia projektów Blazor, nauc...
Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
To książka przeznaczona dla profesjonalnych administratorów i użytkowników Linuksa. Dzięki niej szybciej zrozumiesz, w jakim stopniu dobre zarządzanie systemami na poziomie systemu operacyjnego może wynieść działanie infrastruktury biznesowej na zupełnie inny poziom. Znajdziesz tu najlepsze prakt...
Linux dla admina. Najlepsze praktyki. O czym pamiętać podczas projektowania i zarządzania systemami Linux dla admina. Najlepsze praktyki. O czym pamiętać podczas projektowania i zarządzania systemami
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%) -
Książka stanowi wprowadzenie do pracy z funkcjami SI dostępnymi w Power BI; jest skierowana do osób znających to środowisko. Dowiesz się z niej, w jaki sposób sztuczna inteligencja może być używana w Power BI i jakie funkcje są w nim domyślnie dostępne. Nauczysz się też eksplorować i przygotowywa...
Power BI i sztuczna inteligencja. Jak w pełni wykorzystać funkcje AI dostępne w Power BI Power BI i sztuczna inteligencja. Jak w pełni wykorzystać funkcje AI dostępne w Power BI
(47.40 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
To drugie wydanie popularnego przewodnika dla śledczych. Dzięki niemu sprawnie przygotujesz się do pracy z narzędziami kryminalistycznymi i zapoznasz się ze stosowanymi w informatyce śledczej technikami. Nauczysz się pozyskiwać informacje o podejrzanych i zabezpieczać znajdujące się w sieci dane,...
Informatyka śledcza. Gromadzenie, analiza i zabezpieczanie dowodów elektronicznych dla początkujących. Wydanie II Informatyka śledcza. Gromadzenie, analiza i zabezpieczanie dowodów elektronicznych dla początkujących. Wydanie II
(47.40 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń gen...
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%)
Ebooka "Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Clean Code in C#: Refactor your legacy C# code base and improve application performance by applying best practices
- Tłumaczenie:
- Radosław Meryk
- ISBN Książki drukowanej:
- 978-83-283-7725-7, 9788328377257
- Data wydania książki drukowanej:
- 2021-06-29
- ISBN Ebooka:
- 978-83-283-7726-4, 9788328377264
- Data wydania ebooka:
- 2021-06-29 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 168x237
- Numer z katalogu:
- 147446
- Rozmiar pliku Pdf:
- 8.9MB
- Rozmiar pliku ePub:
- 10.3MB
- Rozmiar pliku Mobi:
- 22.2MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Zgłoś erratę
- Serie wydawnicze: Packt
Spis treści ebooka
- Wymagania techniczne 24
- Dobry kod kontra zły kod 24
- Zły kod 25
- Dobry kod 39
- Potrzeba stosowania standardów kodowania, zasad i metodologii 44
- Standardy kodowania 44
- Zasady kodowania 45
- Metodologie kodowania 45
- Konwencje kodowania 46
- Modułowość 46
- KISS 47
- YAGNI 47
- DRY 48
- SOLID 48
- Brzytwa Ockhama 49
- Podsumowanie 49
- Pytania 50
- Dalsza lektura 50
- Procedura przeglądu kodu 52
- Przygotowanie kodu do przeglądu 52
- Kierowanie przeglądem kodu 54
- Wydawanie żądania ściągnięcia 55
- Odpowiadanie na żądanie ściągnięcia 58
- Wpływ komentarzy udzielanych podczas przeglądu kodu na programistów przekazujących kod do przeglądu 59
- Co należy przejrzeć? 62
- Obowiązujące w firmie wytyczne dotyczące kodowania oraz wymagania biznesowe 62
- Konwencje nazewnictwa 63
- Formatowanie 63
- Testowanie 64
- Wytyczne dotyczące architektury i wzorce projektowe 65
- Wydajność i bezpieczeństwo 66
- Kiedy przesłać kod do przeglądu? 67
- Komentowanie przeglądanego kodu i udzielanie odpowiedzi na uwagi 68
- Komentowanie recenzowanego kodu 69
- Odpowiadanie na komentarze recenzenta 70
- Podsumowanie 71
- Pytania 71
- Dalsza lektura 72
- Wymagania techniczne 74
- Organizowanie klas 74
- Klasa powinna mieć tylko jedną odpowiedzialność 76
- Wprowadzanie w klasach komentarzy w celu generowania dokumentacji 78
- Spójność i sprzężenia 81
- Przykład ścisłego sprzężenia 81
- Przykład luźnego sprzężenia 82
- Przykład kodu o niskiej spójności 84
- Przykład kodu o wysokiej spójności 84
- Projektowanie z myślą o zmianach 85
- Programowanie na bazie interfejsów 86
- Wstrzykiwanie zależności i odwracanie sterowania 88
- Przykład mechanizmu DI 89
- Przykład IoC 91
- Prawo Demeter 92
- Przykłady stosowania i łamania prawa Demeter 92
- Niemutowalne obiekty i struktury danych 94
- Przykład niemutowalnego typu 94
- Obiekty powinny ukrywać dane i eksponować metody 95
- Przykład hermetyzacji 96
- Struktury danych powinny eksponować dane i nie powinny mieć metod 96
- Przykład struktury danych 97
- Podsumowanie 97
- Pytania 98
- Dalsza lektura 99
- Podstawy programowania funkcyjnego 102
- Pisanie krótkich metod 105
- Wcięcia w kodzie 107
- Unikanie powielania kodu 108
- Unikanie zbyt dużej liczby parametrów 109
- Implementacja reguły SRP 110
- Podsumowanie 115
- Pytania 115
- Dalsza lektura 116
- Wyjątki sprawdzane i niesprawdzane 118
- Unikanie wyjątków NullReferenceException 121
- Wyjątki dotyczące reguł biznesowych 124
- Przykład 1. - obsługa warunków za pomocą wyjątków opisujących reguły biznesowe 127
- Przykład 2. - obsługa warunków z wykorzystaniem normalnego przepływu programu 128
- Przekazywanie sensownych informacji za pomocą wyjątków 130
- Budowanie niestandardowych wyjątków 131
- Podsumowanie 134
- Pytania 134
- Dalsza lektura 135
- Wymagania techniczne 138
- Znaczenie dobrego testu 138
- Narzędzia testowe 143
- MSTest 144
- NUnit 151
- Moq 157
- SpecFlow 162
- Praktyka metodologii TDD - test nie przechodzi, test przechodzi i refaktoryzacja 166
- Usuwanie nadmiarowych testów, komentarzy i martwego kodu 172
- Podsumowanie 173
- Pytania 174
- Dalsza lektura 174
- Testowanie E2E 175
- Moduł logowania (podsystem) 177
- Moduł administratora (podsystem) 180
- Moduł sprawdzianów (podsystem) 182
- Testowanie E2E trójmodułowego systemu 183
- Fabryki 186
- Wstrzykiwanie zależności 193
- Modularyzacja 198
- Podsumowanie 200
- Pytania 201
- Dalsza lektura 201
- Cykl życia wątku 204
- Dodawanie parametrów wątku 205
- Korzystanie z puli wątków 207
- Biblioteka TPL 207
- ThreadPool.QueueUserWorkItem() 210
- Korzystanie z muteksów dla wątków synchronicznych 210
- Praca z wątkami równoległymi z wykorzystaniem semaforów 212
- Ograniczanie liczby procesorów i wątków w puli wątków 215
- Zapobieganie zakleszczeniom 216
- Przykład zakleszczenia 217
- Zapobieganie wyścigom 221
- Statyczne konstruktory i metody 224
- Dodawanie statycznych konstruktorów do kodu 225
- Dodawanie metod statycznych 226
- Mutowalność, niemutowalność i bezpieczeństwo wątków 229
- Pisanie kodu, który jest mutowalny, ale nie jest bezpieczny w kontekście wątków 230
- Pisanie kodu, który jest niemutowalny i bezpieczny w kontekście wątków 232
- Bezpieczeństwo wątków 233
- Zależności metod zsynchronizowanych 237
- Korzystanie z klasy Interlocked 238
- Ogólne zalecenia 241
- Podsumowanie 242
- Pytania 243
- Dalsza lektura 243
- Wymagania techniczne 246
- Czym jest API? 246
- Proxy interfejsów API 248
- Wytyczne projektowe dla interfejsów API 249
- Dobrze zdefiniowane granice oprogramowania 252
- Znaczenie dobrej jakości dokumentacji interfejsu API 255
- Przekazywanie niemutowalnych struktur zamiast mutowalnych obiektów 257
- Testowanie zewnętrznych API 260
- Testowanie własnych API 261
- Projektowanie API za pomocą RAML 264
- Instalacja oprogramowania Atom i API Workbench firmy MuleSoft 264
- Tworzenie projektu 265
- Generowanie API w języku C# na podstawie niezależnej od języka specyfikacji w języku RAML 268
- Podsumowanie 272
- Pytania 272
- Dalsza lektura 273
- Wymagania techniczne 276
- Projekt API - kalendarz dywidend 276
- Dostęp do Morningstar API 277
- Przechowywanie klucza Morningstar API w Azure Key Vault 278
- Tworzenie w Azure aplikacji webowej ASP.NET Core kalendarza dywidend 280
- Publikowanie aplikacji webowej 281
- Korzystanie z klucza API do zabezpieczenia interfejsu API kalendarza dywidend 286
- Konfigurowanie repozytorium 286
- Konfiguracja uwierzytelniania i autoryzacji 288
- Testowanie zabezpieczeń z wykorzystaniem klucza API 295
- Dodanie kodu kalendarza dywidend 297
- Ustawianie przepustowości interfejsu API 304
- Podsumowanie 308
- Pytania 308
- Dalsza lektura 309
- Wymagania techniczne 312
- Wzorzec projektowy Dekorator 312
- Wzorzec projektowy Proxy 315
- AOP z wykorzystaniem PostSharp 317
- Rozszerzanie frameworka aspektów 318
- Rozszerzanie frameworka architektury 320
- Biblioteka wielokrotnego użytku do obsługi przekrojowych problemów w projekcie 321
- Buforowanie 321
- Rejestrowanie w plikach 323
- Logowanie 324
- Obsługa wyjątków 325
- Zabezpieczenia 326
- Walidacja parametrów 329
- Obsługa transakcji 334
- Obsługa puli zasobów 334
- Obsługa ustawień konfiguracji 335
- Oprzyrządowanie 336
- Podsumowanie 336
- Pytania 337
- Dalsza lektura 337
- Wymagania techniczne 340
- Definicja dobrej jakości kodu 340
- Porządkowanie kodu i obliczanie jego metryk 342
- Wykonywanie analizy kodu 345
- Korzystanie z narzędzia Quick Action 347
- Korzystanie z narzędzia JetBrains dotTrace 348
- Korzystanie z narzędzia JetBrains ReSharper 352
- Korzystanie z narzędzia Telerik JustDecompile 361
- Podsumowanie 362
- Pytania 363
- Dalsza lektura 363
- Wymagania techniczne 366
- Zapachy kodu na poziomie aplikacji 366
- Ślepota danych typu Boolean 366
- Eksplozja kombinatoryczna 368
- Wymyślna złożoność 369
- Kępy danych 370
- Komentarze-dezodoranty 370
- Powielony kod 370
- Utracony zamiar 371
- Mutacje zmiennych 371
- Rozwiązanie-dziwak 373
- Chirurgia strzelby 375
- Rozrzucanie rozwiązań 377
- Niekontrolowane skutki uboczne 377
- Zapachy kodu na poziomie klasy 378
- Złożoność cyklomatyczna 378
- Rozbieżna zmiana 382
- Rzutowanie w dół 382
- Nadmierne używanie literałów 382
- Zazdrość o kod 383
- Nieodpowiednia intymność 384
- Nieprzyzwoite obnażanie 384
- Rozbudowana klasa (obiekt-Bóg) 385
- Klasa leniwa 385
- Klasa-pośrednik 386
- Klasa osierocona złożona z samych zmiennych i stałych 386
- Obsesja na punkcie prymitywów 386
- Odrzucony spadek 386
- Spekulatywna ogólność 387
- Stwierdzaj, nie pytaj 387
- Tymczasowe pola 387
- Zapachy na poziomie metod 387
- Metoda "czarna owca" 387
- Złożoność cyklomatyczna 388
- Wymyślna złożoność 388
- Martwy kod 388
- Zbyt duża ilość zwracanych danych 388
- Zazdrość o kod 388
- Rozmiar identyfikatora 389
- Nieodpowiednia intymność 389
- Długie wiersze kodu (wiersze-Bogowie) 389
- Leniwe metody 389
- Długie metody (metody-Bogowie) 389
- Długa lista parametrów 390
- Łańcuchy komunikatów 390
- Metoda-pośrednik 390
- Rozwiązanie-dziwak 390
- Spekulatywna ogólność 390
- Podsumowanie 391
- Pytania 391
- Dalsza lektura 393
- Wymagania techniczne 396
- Implementacja kreacyjnych wzorców projektowych 396
- Implementacja wzorca Singleton 397
- Implementacja wzorca Metoda wytwórcza 398
- Implementacja wzorca projektowego Fabryka abstrakcyjna 399
- Implementacja wzorca Prototyp 402
- Implementacja wzorca projektowego Budowniczy 404
- Implementacja strukturalnych wzorców projektowych 409
- Implementacja wzorca projektowego Most 410
- Implementacja wzorca Kompozyt 412
- Implementacja wzorca projektowego Fasada 414
- Implementacja wzorca projektowego Pyłek 416
- Przegląd behawioralnych wzorców projektowych 419
- Końcowe wnioski 420
- Podsumowanie 422
- Pytania 423
- Dalsza lektura 423
O autorze 13
O recenzencie 15
Przedmowa 17
Rozdział 1. Standardy i zasady kodowania w języku C# 23
Rozdział 2. Przeglądy kodu - procedura i znaczenie 51
Rozdział 3. Klasy, obiekty i struktury danych 73
Rozdział 4. Pisanie czystych funkcji 101
Rozdział 5. Obsługa wyjątków 117
Rozdział 6. Testy jednostkowe 137
Rozdział 7. Testowanie systemu "od końca do końca" 175
Rozdział 8. Wątki i współbieżność 203
Rozdział 9. Projektowanie i tworzenie API 245
Rozdział 10. Zabezpieczanie API za pomocą kluczy API i usługi Azure Key Vault 275
Rozdział 11. Rozwiązywanie problemów przekrojowych 311
Rozdział 12. Narzędzia do poprawy jakości kodu 339
Rozdział 13. Refaktoryzacja kodu C# - identyfikacja zapachów kodu 365
Rozdział 14. Refaktoryzacja kodu C# - Implementacja wzorców projektowych 395
Odpowiedzi 425
Oceny i opinie klientów: Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki Jason Alls (4) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(1)
(1)
(0)
(0)
(0)
(2)
więcej opinii