Kod: DEV-006_NET
Czas trwania: 24 godzin
Czas trwania: 24 godzin
Opis szkolenia
Czy zdarzyło Ci się, że kod źródłowy jest trudny do odczytania? Gdzie spędzasz dużo czasu próbując zrozumieć, co programista chciał wyrazić w tym konkretnym fragmencie kodu.Podczas tego szkolenia pokażemy, jak nie zostać takim programistą. Dowiesz się o "code smells", dlaczego i gdzie się pojawiają oraz jakie techniki są używane do ich usuwania. Zaczniemy od prostych problemów w pojedynczej funkcji, a skończymy na problemach z komunikacją między klasami. Omówimy również, co należy, a czego nie należy robić, aby kod był łatwy do odczytania.
Plan szkolenia
Refaktoryzacja- Wprowadzenie
- Pojęcie refaktoryzacji, cel refaktoryzacji
- Rozwój oparty na testach
Code smells
- Przegląd
- Definicja "code smells"
- Dobre zasady projektowania
- Kod pachnie w testach, "smells" w bazach danych (przegląd)
- "smells" w architekturze, "smells" w zarządzaniu personelem
Typowe problemy w kodzie
- Organizowanie danych
- Pola
- Tablice danych
- Odniesienia i wartości
- Pola kodowe
- Upraszczanie wyrażeń warunkowych
- Upraszczanie wywołań metod
- Radzenie sobie z uogólnieniami
- Metody komponowania
Smells inside a class
- Łatwo wykryte problemy
- Nazwy
- Nadmierna złożoność
- Powielanie
- Logika warunkowa
Przenoszenie elementów między obiektami
- Zasada pojedynczej odpowiedzialności
- Spójność
- Prawo Demeter
- Przenoszenie metod / pól
- Wyodrębnianie klasy
- Inline class
- Ukrywanie delegatów
- Usuń środkowego człowieka
- Metody rozszerzające
Problemy w komunikacji między klasami
- Dane. Dziedzictwo
- Odpowiedzialność
- Przyjmowanie zmian
- Zajęcia biblioteczne
Cele
- Przedstawienie przeglądu "code smells"
- Najlepsze praktyki dotyczące poprawy czytelności istniejącego kodu
- Jak zidentyfikować problemy w kodzie programu C #
- Jak poprawić czytelność kodu źródłowego C #
Grupa docelowa
- Programiści C # z 1 do 2 lat doświadczenia
Wymagania
- Ogólna podstawowa wiedza z zakresu programowania
- Podstawowa znajomość języków skryptowych
- Zrozumienie przepływów logiki kodu