Narzędzia programistów
Dlaczego narzędzia są ważne
- "Ciągle większa inteligencja
siedzi przed komputerem" - Jednak, każda pomoc jaką
możecie dostać jest warta - Najczęściej jednak ta pomoc
wymaga pracy również od Was
System kontroli wersji
- Umożliwia powrót do poprzedniej wersji projektu
- Fajne szczególnie dla symulacji/kodu fizycznego
(nie ma problemu: "tydzień temu mi działało")
- Fajne szczególnie dla symulacji/kodu fizycznego
- Umożliwia równoległą pracę nad kodem wielu osób
- Ci z Was którzy nie używają Git-a zapewne odkryli już że na dluższą metę nie da się tak pracować
- Umożliwia równoległą pracę nad kilkoma wersjami programu, np. produkcyjną i developeską
System kontroli wersji
- Ja lubię Git-a, aktualnie jest IMO najlepszym rozwiązaniem.
- Jeśli potrzebujecie lepszych referencji: jądro Linuksa jest rozwijane w Gicie
- Tutorial: https://try.github.io/
- Hosting repozytoriów
System kontroli wersji
- Bez systemu kontroli wersji nie da się
pracować profejsonalnie. - Jeśli firma w której będizecie pracować (jako programiści) nie używa takiego systemu, jest to bardzo poważny sygnał by uciekać.
- Podobnie jeśli używa się CVS ;)
Bugtracker
- O ilu rzeczach możecie pamiętać?
Ja mogę pamiętać o 4 rzeczach "do załatwienia". - System zadań (Issue tracker) pozwala na przechywywanie list zadań do zrobienia.
- Ułatwia pracę zespołową.
- Ułatwia zarządzanie zespołem.
- Kto z Was wie (albo może łatwo sprawdzić) co musi jeszcze zrobić żeby oddać mi Wasz projekt?
- Bugtracker odpowiada na takie pytania!
Bugtracker
- Bugtrackerem może być arkusz kalkulacyjny (najlepiej dostępny online)
- Są różne narzędzia:
Bugtracker
- Jeśli w Waszej firmie nie używa się Bugtrackera raczej jest sygnał żeby zmienić pracę.
Narzędzia statycznej analizy kodu
- Pozwalają wykrywać wzorce sugerujące błędy.
- Polecam: FindBugz
- IDE IntelijIDEA ma bardzo dobre własne narzędzia do statycznej analizy kodu.
Integrated Developement Enviorment
- Wasze środowisko programistyczne
- Znam takie ide do Javy:
- IntelijIDEA (sam używam)
- Eclipse (używam na zajęciach z Wami)
- NetBeans dobre dla początkujących.
- Możecie używać dowolnego IDE na zajęciach projektowych.
Zastosowania IDE
- Uruchamianie projektu; uruchamianie testów
- Integracja z debuggerem
- Integracja z Systemem Kontroli Wersji
- Statyczna analiza kodu
- Integracja z Issue Trackerem
- Uzupełnianie składni
- Nawigacja po kodzie
- Refactoring kodu
Profilery
- Narzędzia do znajdowania problemów wydajnościowych w kodzie.
- W javie jest to Visual VM (dostępne jako polecenie jvisualvm).
Narzędzia formalne
- Czasem dobrze jest mieć dowód że program działa (oczywiście ze względu na błędy w implementacji nie ma gwarancji poprawności).
- Czasem chemy np. udowodnić że dwa programy są równoważne (ważne przy optymalizatorach)
- Czasem chcemy udowodnić że format pliów jest kompatybilny wstecznie.
To tylko pobieżny przegląd
Narzędzia programistów
Narzędzia programistów
By Jacek Bzdak
Narzędzia programistów
- 1,685