Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- BHP
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Przewodniki po hotelach i restauracjach
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- .NET - Programowanie
- Refaktoryzacja w C#. Jak zredukować dług techniczny i optymalizować kod z Visual Studio, .NET 8 i C# 12
Szczegóły ebooka
Refaktoryzacja w C#. Jak zredukować dług techniczny i optymalizować kod z Visual Studio, .NET 8 i C# 12
Termin dług techniczny oznacza zbiór skrótów, niedociągnięć i potworków projektowych, które powstają w trakcie ewolucyjnego rozwoju programu. Jeśli się ich nie zlikwiduje, mogą dramatycznie spowolnić pracę nad programem. Rozwiązywanie tego typu problemów jest nazywane refaktoryzacją i każdy programista powinien umieć ją przeprowadzać.
Dzięki tej przystępnej, świetnie napisanej książce dowiesz się, czym jest dług techniczny, co prowadzi do jego powstawania i w jaki sposób można go bezpiecznie zrefaktoryzować przy użyciu nowoczesnych narzędzi dostępnych w środowisku Visual Studio, a także najnowszych składników języka C# 12 i platformy .NET 8. Nauczysz się też korzystać z zaawansowanych testów jednostkowych tworzonych przy użyciu xUnit i takich bibliotek jak Moq, Snapper czy Scientist.NET. Dowiesz się, jak stosować zasady SOLID, aby tworzyć łatwy w utrzymaniu kod, poznasz również techniki programowania defensywnego, które można stosować w nowszych wersjach C#. Ponadto nauczysz się przeprowadzać analizy kodu i pisać własne analizatory Roslyn do wykrywania i rozwiązywania problemów typowych dla Twojego projektu.
Najciekawsze zagadnienia:
- najważniejsze informacje o długu technicznym
- różne sposoby refaktoryzacji klas, metod i wierszy kodu
- efektywne testy jednostkowe
- zasady SOLID i tworzenie kodu łatwego w utrzymaniu
- korzystanie ze sztucznej inteligencji GitHub Copilot
- standardy kodowania w zwinnych zespołach
O recenzentach
Przedmowa
Wstęp
CZĘŚĆ 1. Refaktoryzacja w C# w Visual Studio
- Rozdział 1. Dług techniczny, zapaszki kodu i refaktoryzacja
- Dług techniczny i stary kod
- Skąd się bierze dług techniczny
- Identyfikacja zapaszków kodu
- Wprowadzenie do refaktoryzacji
- Narzędzia do refaktoryzacji w Visual Studio
- Studium przypadku - linie lotnicze Cloudy Skies
- Podsumowanie
- Pytania
- Dalsza lektura
- Dług techniczny i stary kod
- Rozdział 2. Wprowadzenie do refaktoryzacji
- Wymagania techniczne
- Refaktoryzacja kalkulatora cen bagażu
- Konwersja własności na własności automatyczne
- Wprowadzanie zmiennych lokalnych
- Wprowadzanie stałych
- Wprowadzanie parametrów
- Usuwanie nieużywanego i nieosiągalnego kodu
- Wyodrębnianie metod
- Ręczna refaktoryzacja
- Testowanie kodu po refaktoryzacji
- Refaktoryzacja w innych edytorach
- Refaktoryzacja w Visual Studio Code z dodatkiem C# Dev Kit
- Refaktoryzacja w środowisku JetBrains Rider
- Refaktoryzacja w Visual Studio z dodatkiem ReSharper
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 3. Refaktoryzacja przepływu sterowania i iteracji
- Wymagania techniczne
- Refaktoryzacja aplikacji do obsługi przyjmowania na pokład
- Kontrola przepływu sterowania
- Odwracanie instrukcji if
- Opuszczanie instrukcji else po instrukcjach return
- Restrukturyzacja instrukcji if
- Operator trójargumentowy
- Zamiana instrukcji if na instrukcje switch
- Konwersja na wyrażenia switch
- Tworzenie obiektów
- Zamiana var na konkretne określenia typów
- Prostsze tworzenie przy użyciu słowa kluczowego new z określeniem typu docelowego
- Inicjalizatory obiektów
- Iterowanie kolekcji
- Pętla foreach
- Konwersja na pętlę for
- Konwersja na LINQ
- Refaktoryzacja instrukcji LINQ
- Wybór odpowiedniej metody LINQ
- Łączenie metod LINQ
- Przekształcanie przy użyciu metody Select
- Przegląd i testowanie kodu po refaktoryzacji
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 4. Refaktoryzacja na poziomie metod
- Wymagania techniczne
- Refaktoryzacja rejestratora lotów
- Refaktoryzacja metod
- Zmiana modyfikatorów dostępu do metod
- Zmienianie nazw metod i parametrów
- Przeciążanie metod
- Łańcuchy wywołań metod
- Refaktoryzacja konstruktorów
- Generowanie konstruktorów
- Łańcuchy konstruktorów
- Refaktoryzacja parametrów
- Zmiana kolejności parametrów
- Dodawanie parametrów
- Wprowadzanie parametrów opcjonalnych
- Usuwanie parametrów
- Refaktoryzacja do funkcji
- Składowe z wyrażeniem w treści
- Przekazywanie funkcji jako parametrów z akcjami
- Zwracanie danych z akcji przy użyciu struktur typu Func
- Wprowadzanie metod statycznych i rozszerzających
- Tworzenie statycznych metod
- Przenoszenie statycznych składowych do innych typów
- Tworzenie metod rozszerzających
- Przegląd i testowanie kodu po refaktoryzacji
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 5. Refaktoryzacja kodu obiektowego
- Wymagania techniczne
- Refaktoryzacja systemu wyszukiwania lotów
- Organizowanie klas przez refaktoryzację
- Przenoszenie klas do osobnych plików
- Zmienianie nazw plików i klas
- Zmiana przestrzeni nazw
- Unikanie klas częściowych i regionów
- Refaktoryzacja i dziedziczenie
- Przesłanianie metody ToString
- Generowanie metod równości
- Wyodrębnianie klasy bazowej
- Przenoszenie implementacji interfejsów w górę drzewa dziedziczenia
- Kontrolowanie dziedziczenia za pomocą słowa kluczowego abstract
- Wyrażanie intencji za pomocą słowa kluczowego abstract
- Wprowadzanie składowych abstrakcyjnych
- Konwersja metod abstrakcyjnych na wirtualne
- Poprawianie hermetyzacji
- Hermetyzacja pól
- Pakowanie parametrów do klasy
- Opakowywanie własności w klasy
- Kompozycja zamiast dziedziczenia
- Ulepszanie klas za pomocą interfejsów i polimorfizmu
- Wyodrębnianie interfejsów
- Domyślne implementacje interfejsów
- Wprowadzanie polimorfizmu
- Przegląd i testowanie zrefaktoryzowanego kodu
- Podsumowanie
- Pytania
- Dalsza lektura
CZĘŚĆ 2. Bezpieczna refaktoryzacja
- Rozdział 6. Testy jednostkowe
- Wymagania techniczne
- Testowanie i testy jednostkowe
- Typy testów i piramida testowania
- Testy jednostkowe
- Testowanie kodu przy użyciu xUnit
- Tworzenie projektu testowego xUnit
- Łączenie projektu testów xUnit z własnym projektem
- Pierwszy test jednostkowy
- Wzorzec Organizacja-Akcja-Asercja
- Testy i wyjątki
- Dodawanie kolejnych metod testowych
- Refaktoryzacja testów jednostkowych
- Parametryzacja testów za pomocą atrybutów Theory i InlineData
- Inicjalizacja kodu testów za pomocą konstruktorów i pól
- Współdzielenie kodu przez metody
- Inne środowiska testowe
- Środowisko NUnit
- Środowisko testowe MSTest
- Myślenie w kategoriach testów
- Włączanie testów do codziennego toku pracy
- Izolowanie zależności
- Dobre i złe testy
- Uwagi na temat pokrycia kodu
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 7. Programowanie oparte na testach
- Wymagania techniczne
- Czym jest programowanie oparte na testach
- Programowanie oparte na testach w Visual Studio
- Ustawianie salda początkowego
- Dodawanie kilometrów i generowanie metod
- Wykorzystywanie kilometrów i refaktoryzacja testów
- Kiedy stosować metodykę TDD
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 8. Unikanie antywzorców dzięki zasadom SOLID
- Identyfikacja antywzorców w kodzie C#
- Przestrzeganie zasad SOLID
- Zasada pojedynczej odpowiedzialności
- Zasada otwarty-zamknięty
- Zasada zastępowania Liskov
- Zasada segregacji interfejsów
- Zasada odwrócenia zależności
- Inne zasady architektoniczne
- Zasada DRY
- Zasada KISS
- Wysoka spójność i niski stopień sprzężenia
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 9. Zaawansowane testy jednostkowe
- Wymagania techniczne
- Tworzenie czytelnych testów przy użyciu Shouldly
- Instalowanie pakietu NuGet Shouldly
- Czytelne asercje z Shouldly
- Czytelne asercje z FluentAssertions
- Testowanie wydajności z Shouldly
- Generowanie danych testowych przy użyciu biblioteki Bogus
- Imitowanie zależności za pomocą bibliotek Moq i NSubstitute
- Dlaczego należy korzystać z bibliotek imitacyjnych
- Tworzenie atrap obiektów przy użyciu biblioteki Moq
- Programowanie wartości zwrotnych biblioteki Moq
- Weryfikacja wywołań Moq
- Tworzenie atrap przy użyciu biblioteki NSubstitute
- Testy migawkowe z biblioteką Snapper
- Eksperymentowanie z Scientist .NET
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 10. Defensywne techniki pisania kodu
- Wymagania techniczne
- API Cloudy Skies
- Sprawdzanie poprawności danych wejściowych
- Podstawowa weryfikacja poprawności danych
- Słowo kluczowe nameof
- Weryfikacja przy użyciu klauzul ochronnych
- Klauzule ochronne z biblioteki GuardClauses
- Atrybuty informacyjne
- Ochrona przed null
- Włączanie analizy dopuszczalności wartości null w C#
- Operatory dopuszczalności wartości null
- Poza granicą klas
- Preferowanie klas niezmiennych
- Własności wymagane i tylko do inicjalizacji
- Konstruktory podstawowe
- Konwertowanie klas na rekordy
- Klonowanie obiektów przy użyciu wyrażeń with
- Zaawansowane techniki pracy z typami
- Dopasowywanie wzorców
- Ograniczanie dublowania za pomocą typów generycznych
- Tworzenie aliasów typów za pomocą dyrektywy using
- Podsumowanie
- Pytania
- Dalsza lektura
CZĘŚĆ 3. Zaawansowana refaktoryzacja przy użyciu sztucznej inteligencji i analizy kodu
- Rozdział 11. Refaktoryzacja wspomagana przez sztuczną inteligencję z GitHub Copilot
- Wymagania techniczne
- Wprowadzenie do GitHub Copilot
- Model predykcyjny GitHub
- Rozpoczynanie rozmowy z czatem GitHub Copilot
- Rozpoczynanie pracy z GitHub Copilot w Visual Studio
- Instalowanie i aktywacja rozszerzenia GitHub Copilot
- Uzyskiwanie dostępu do narzędzia GitHub Copilot
- Generowanie sugestii przez GitHub Copilot
- Interakcja z czatem GitHub Copilot
- Refaktoryzacja przy użyciu czatu GitHub Copilot
- Czat GitHub Copilot jako recenzent kodu
- Refaktoryzacja celowana przy użyciu czatu GitHub Copilot
- Tworzenie wstępnej dokumentacji za pomocą czatu GitHub Copilot
- Generowanie imitacji obiektów za pomocą czatu GitHub Copilot
- Ograniczenia narzędzia GitHub Copilot
- Prywatność danych a GitHub Copilot
- Wątpliwości związane z kodem publicznym i narzędziem GitHub Copilot
- Studium przypadku - linie lotnicze Cloudy Skies
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 12. Analiza kodu w Visual Studio
- Wymagania techniczne
- Obliczanie metryk kodu w Visual Studio
- Analiza kodu w Visual Studio
- Analiza rozwiązania przy użyciu domyślnego zestawu reguł
- Konfigurowanie zestawów zasad analizy kodu
- Reagowanie na reguły analizy kodu
- Traktowanie ostrzeżeń jako błędów
- Zaawansowane narzędzia do analizy kodu
- Śledzenie metryk kodu za pomocą SonarCloud i SonarQube
- Dogłębna analiza na platformie .NET za pomocą NDepend
- Studium przypadku linii lotniczych Cloudy Skies
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 13. Tworzenie analizatora Roslyn
- Wymagania techniczne
- Analizatory Roslyn - informacje podstawowe
- Instalowanie narzędzi do tworzenia rozszerzeń i edytora DGML
- Wprowadzenie do wizualizatora składni
- Tworzenie analizatora Roslyn
- Dodawanie projektu analizatora do rozwiązania
- Definiowanie zasady analizy kodu
- Analizowanie symboli przez analizator Roslyn
- Wskazówki na temat pisania analizatorów Roslyn
- Testowanie analizatorów Roslyn za pomocą RoslynTestKit
- Dodawanie projektu testowego analizatora Roslyn
- Klasa AnalyzerTestFixture
- Sprawdzanie, czy analizator Roslyn nie oznacza poprawnego kodu
- Sprawdzanie, czy analizator Roslyn znajduje niepoprawny kod
- Debugowanie analizatorów Analyzers
- Udostępnianie analizatorów jako rozszerzeń do Visual Studio
- Tworzenie rozszerzenia Visual Studio (VSIX) dla analizatora Roslyn
- Podsumowanie
- Pytania
- Dalsza lektura
- Rozdział 14. Refaktoryzacja kodu z analizatorami Roslyn
- Wymagania techniczne
- Studium przypadku - linie lotnicze Cloudy Skies
- Budowa poprawki kodu analizatora Roslyn
- Tworzenie dostawcy poprawki kodu
- Rejestrowanie poprawki kodu
- Modyfikowanie dokumentu przez poprawkę kodu
- Testowanie poprawek kodu za pomocą RoslynTestKit
- Publikowanie analizatorów Roslyn jako pakietów NuGet
- Wdrażanie za pomocą pakietów NuGet
- Tworzenie pakietu NuGet
- Wdrażanie pakietu NuGet
- Dodawanie pakietu NuGet
- Pakowanie dostawcy poprawki kodu jako rozszerzenia
- Podsumowanie
- Pytania
- Dalsza lektura
CZĘŚĆ 4. Refaktoryzacja w firmie
- Rozdział 15. Informowanie o długu technicznym
- Pokonywanie barier w refaktoryzacji
- Pilne terminy
- "Nie ruszać kodu wysokiego ryzyka"
- "Ten kod zniknie, nie marnuj na niego czasu"
- Aplikacje kończące cykl życia
- "Zrób tylko to, co jest wymagane"
- "Refaktoryzacja nie daje wartości biznesowej"
- Informowanie o długu technicznym
- Dług techniczny jako ryzyko
- Tworzenie rejestru ryzyka
- Co zamiast rejestru ryzyka
- Ustalanie priorytetów długu technicznego
- Obliczanie priorytetów ryzyka za pomocą oceny ryzyka
- Podejście oparte na przeczuciu
- Uzyskiwanie poparcia organizacyjnego
- Przygotowywanie się do rozmowy
- Przewidywanie pytań i zastrzeżeń
- Różne podejścia dla różnych liderów
- Znaczenie komunikacji
- Studium przypadku - linie lotnicze Cloudy Skies
- Podsumowanie
- Pytania
- Dalsza lektura
- Pokonywanie barier w refaktoryzacji
- Rozdział 16. Wdrażanie standardów kodowania
- Wymagania techniczne
- Czym są standardy kodowania
- Znaczenie standardów kodowania
- Jak standardy kodu wpływają na refaktoryzację
- Stosowanie standardów kodowania do istniejącego kodu
- Ustanowienie standardów kodowania
- Zbiorowe standardy kodowania
- Wybór tego, co ważne
- Źródła standardów kodowania
- Ewolucja standardów kodowania
- Włączanie standardów do procesów
- Formatowanie i czyszczenie kodu w Visual Studio
- Formatowanie dokumentów
- Automatyczne formatowanie dokumentów
- Konfigurowanie ustawień stylu kodowania
- Stosowanie standardów kodowania za pomocą plików EditorConfig
- Kod początkowy do przeglądu
- Dodawanie pliku EditorConfig
- Dostosowywanie pliku EditorConfig
- Podsumowanie
- Pytania
- Więcej informacji
- Rozdział 17. Zwinna refaktoryzacja
- Refaktoryzacja w zwinnym środowisku
- Kluczowe elementy zwinnych zespołów
- Czynniki przeszkadzające w refaktoryzacji
- Strategie dające sukces w zwinnej refaktoryzacji
- Zadania poświęcone refaktoryzacji
- Refaktoryzacja kodu, który jest zmieniany
- Sprinty refaktoryzacji
- Urlopy refaktoryzacyjne
- Wykonywanie refaktoryzacji na dużą skalę
- Dlaczego duże refaktoryzacje są trudne
- Pułapka przepisywania
- Lekcje z okrętu Tezeusza
- Aktualizowanie projektów za pomocą .NET Upgrade Assistant
- Refaktoryzacja i wzorzec dusiciela
- Odzyskiwanie sprawności, gdy refaktoryzacja pójdzie źle
- Wpływ nieudanych refaktoryzacji
- Zapewnienie bezpieczeństwa w zwinnych środowiskach
- Wdrażanie refaktoryzacji na dużą skalę
- Korzystanie z flag funkcji
- Wdrożenia etapowe lub niebiesko-zielone
- Wartość ciągłej integracji i ciągłego dostarczania
- Studium przypadku - linie lotnicze Cloudy Skies
- Podsumowanie
- W kierunku bardziej zrównoważonego oprogramowania
- Pytania
- Więcej informacji
- Refaktoryzacja w zwinnym środowisku
- Tytuł: Refaktoryzacja w C#. Jak zredukować dług techniczny i optymalizować kod z Visual Studio, .NET 8 i C# 12
- Autor: Matt Eland
- Tytuł oryginału: Refactoring with C#: Safely improve .NET applications and pay down technical debt with Visual Studio, .NET 8, and C# 12
- Tłumaczenie: Łukasz Piwko
- ISBN: 978-83-289-1692-0, 9788328916920
- Data wydania: 2025-01-21
- Format: Ebook
- Identyfikator pozycji: refawc
- Wydawca: Helion