Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Безпека життєдіяльності
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Przewodniki po hotelach i restauracjach
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- .NET - Програмування
- Refaktoryzacja w C#. Jak zredukować dług techniczny i optymalizować kod z Visual Studio, .NET 8 i C# 12
Деталі електронної книги
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
- Назва: Refaktoryzacja w C#. Jak zredukować dług techniczny i optymalizować kod z Visual Studio, .NET 8 i C# 12
- Автор: Matt Eland
- Оригінальна назва: Refactoring with C#: Safely improve .NET applications and pay down technical debt with Visual Studio, .NET 8, and C# 12
- Переклад: Łukasz Piwko
- ISBN: 978-83-289-1692-0, 9788328916920
- Дата видання: 2025-01-21
- Формат: Eлектронна книга
- Ідентифікатор видання: refawc
- Видавець: Helion