Poprawa jakości kodu źródłowego
Czas trwania szkolenia:2 dni (16h)
Kod kursu:QA/CODE
Poziom zaawansowania:
O szkoleniu Poprawa jakości kodu źródłowego
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Wymagania
- Od uczestników szkolenia wymagana jest ogólna umiejętność programowania i rozumienia kodu źródłowego ze wskazaniem na języki Java, C/C++, Python
Zalety
- Przegląd kategorii i zaleceń ISO/IEC 5055 (Automated Source Code Quality Measures)
- Zalecenia, w większości niezależne od używanego języka programowania, odnoszą się do nieprawidłowych konstrukcji programistycznych i implementacji algorytmów
- Wskazówki służące zapewnieniu zgodności ze standardem w codziennej praktyce inżynierskiej
- Podczas szkolenia wykorzystujemy przykłady w różnych językach programowania (Java, C/C++, Python), które będą ilustrowały omawiane zagadnienia
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracuj ą w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Poznanie kryteriów oceny jakości kodu według normy ISO/IEC 5055 (Automated Source Code Quality Measures) oraz skutków ich naruszeń w praktyce
- Unikanie zabronionych konstrukcji w kodzie źródłowym na wczesnym etapie implementacji oprogramowania
- Świadomość możliwych skutków lekceważenia dobrych praktyk programowania
Program
Jakość kodu źródłowego
- Klasyfikacja typowych wad oprogramowania
- MITRE CWE
- Wzorce ASCQM wykrywania usterek
- Kryteria odbioru kodu aplikacji
Konserwacja i utrzymanie kodu źródłowego
- Złożoność algorytmów, miary złożoności
- Martwy i nieosiągalny kod
- Błędy logiczne
- Standard kodowania
- Zależności w kodzie
Wydajność aplikacji
- Zarządzanie pamięcią
- Obsługa zewnętrznych zasobów
- Wzrost zapotrzebowania na moc obliczeniową
- Przepływy i obsługa danych w aplikacji
Niezawodność
- Zarządzanie danymi i zasobami
- Prawidłowe użycie typów danych
- Przekształcenia typów
- Błędy obliczeniowe
- Obsługa błędów i wartości zwracanych
- Nieprawidłowa synchronizacja
- Czas trwania operacji
- Dostępność usług aplikacji
Bezpieczeństwo
- Obsługa pamięci
- Walidacja, filtrowanie i typowanie danych
- Serializacja i deserializacja danych
- Przechowywanie i wykorzystanie danych o szczególnym znaczeniu
- Obsługa haseł i kluczy kryptograficznych
- Bezpieczne API
- Wyścigi w dostępie do zasobów
- Logowanie zdarzeń
- Uwierzytelnienie i autoryzacja
- Zaufanie do kodu
Obliczanie miar jakości
- Miary bazowe
- Gęstość słabych punktów aplikacji
- Miary pochodne
Narzędzia wspomagające
- Kompilator i jego konfiguracja
- Analiza statyczna i dynamiczna