Narzędzia programistyczne

W semestrze zimowym 2019/2020 laboratorium odbywa się w poniedziałek, godz. 1000-1200, PK 6, WFAiIS

Warunki zaliczenia laboratorium:

  • Kolokwium zaliczeniowe …
  • … lub prezentacja wybranych narzędzi programistycznych (ok. 30-45 min.). W prezentacji, obok części prowadzającej teoretycznie, warto zawrzeć przykłady demonstracyjne.
  • Obecność.

Zagadnienia na kolokwium

Data Temat Prowadzący Źródła/Projekty/
29/10/2019 Git CM
Scrum RM
12/11/2019 Azure DevOps PA, PV
26/11/2019 VS2019 WP
Resharper KD
10/12/2019 xUnit.net TB
MSTest WH
07/01/2020 Firebase WR
Narzędzia do profilowania AK
21/01/2019 Moq MJ
Modelowanie systemu (UML) PK
  • System kontroli wersji Git i GitHub
    • programowanie zespołowe z użyciem git
    • Github workflow: branch → commit → Pull Request → Review → Deploy → Merge
    • git branching model: master, develop, feature branches, realase branches, hotfix
    • git w Visual Studio
  • Narzędzia do zarządzania projektami
    • Azure DevOps (dawniej TFS/Visual Studio Team Services)
    • wsparcie dla zwinnych metodologii (np. Scrum)
    • zarządzanie zadaniami w GitHub
  • Co nowego w Visual Studio 2019 ?
  • Resharper - narzędzia wspomagające produktywność (nawigacja, generowanie kodu, refaktoring, …)
  • Analiza statyczna kodu
    • Resharper - inspekcja kodu
    • Narzędzia dostępne w Visual Studio (analiza kodu, FxCop, metryki kodu)
  • Testowanie jednostkowe
    • wsparcie do testów jednostkowych w Visual Studio, biblioteka MSTest
    • inne biblioteki: xUnit, NUnit
    • techniki izolacji, atrapy (mocki), wzorce w testowaniu jednostkowym, biblioteki: Moq, FakeItEasy, RhinoMocks, NSubstitute, ..
    • metryki pokrycia kodu testami
    • generowanie testów i danych do testów, np. biblioteka AutoData, AutoFixture, …
    • automatyzacja testowania w procesie produkcyjnym (np. z użyciem VSTS)
  • Profilowanie aplikacji
    • narzędzia diagnostyczne w Visual Studio
    • instrumentacja, profilowanie statystyczne (sampling)
    • profilowanie aplikacji WPF
    • debugowanie pamięci
  • Modelowanie systemu:
    • Diagramy klas, użycia, inne diagramy wizualizujące struktur kodu w Visual Studio
  • Inne: jakich narzędzi używacie?