Blog Dla Młodszych Programistów C#/.NET

Jako że mam w ostatnim czasie, dużo zapytań o tematy dla początkujących programistów, postanowiłem poruszyć zagadnienia, które każda osoba, która chce zostać programistą .NET, musi znać. Na początek poruszę temat, odnośnie tego, czym jest dziedziczenie w programowaniu obiektowym. Postaram się to wytłumaczyć, na prostych przykładach w C#. Czym jest dziedziczenie? Dziedziczenie jest to jeden z 4 podstawowych paradygmatów programowania obiektowego. Jest to rodzaj relacji pomiędzy dwoma klasami, która pozwala jednemu z nich dziedziczyć kod drugiego. Dzięki niemu można budować [...]
wtorek, 28 kwietnia 2020
Każda osoba, która chce nauczyć się programować, ma na początek duży problem, ponieważ w samym C#, można tworzyć wiele różnych aplikacji. Od czego w takim razie zacząć? Można pisać aplikacje konsolowe, desktopowe (windows forms, WPF, UWP), webowe (ASP.NET MVC, ASP.NET Core), mobilne (Xamarin). Aby ułatwić Ci trochę tą decyzję przygotowałem dla Ciebie szybkie wprowadzenie do ASP.NET Core. Co to jest .NET Core? .NET Core został stworzony przez Microsoft w roku 2016 i jego największymi zaletami są wieloplatformowość, a także open sourcowy kod źródłowy, który można znaleźć [...]
wtorek, 21 kwietnia 2020
Często słyszę pytanie, na temat tego, czy powinno się pisać testy jednostkowe do metod prywatnych lub chronionych? Albo jak testować metody prywatne w C#. Dzisiaj postaram się krótko odpowiedzieć na te pytania. Aby łatwiej było zrozumieć Ci ten problem, przedstawię go na łatwym przykładzie. Jak Testować Metody Prywatne. Jest kilka popularnych sposobów do testowania metod prywatnych. Można po prostu zmienić modyfikator dostępu takiej metody, wtedy od razu ta metoda będzie widoczna w teście. Jednak nie jest to zazwyczaj dobre rozwiązanie, bo skoro dana metoda ma [...]
wtorek, 7 kwietnia 2020
Test Driven Development w skrócie TDD, czyli tworzenie oprogramowania sterowane testami. To znaczy, tak jakby testy sterują naszym kodem, który dopiero będziemy pisać. Myślę, że TDD obiło się o uszy każdemu programiście, lecz mało z nich próbowało pisać oprogramowanie, stosując to podejście. Aby zacząć pisać zgodnie z TDD, najpierw trzeba nauczyć się pisać testy jednostkowe, jeżeli nie pisałeś wcześniej żadnych testów, to spróbuj najpierw zapoznać się z artykułem na temat testów jednostkowych, a następnie wróć do tego tematu :) Są dwie techniki pisania testów jednostkowych. Możesz [...]
wtorek, 24 marca 2020
Z moich poprzednich artykułów wiesz już, że testy automatyczne możemy podzielić między innymi na testy jednostkowe i testy integracyjne. Do testów jednostkowych wprowadziłem Cię już w ostatnich artykułach (jeżeli się z nimi jeszcze nie zapoznałeś, koniecznie to zrób). Teraz przyszła pora na testy integracyjne. W testach jednostkowych testujemy pojedyncze jednostki, bez zewnętrznych zależności. Może się okazać, że mamy mnóstwo testów jednostkowych, które są zielone, a w rzeczywistości w naszej aplikacji mogą być błędy. Możemy mieć błędy na przykład we wspomnianych wcześniej [...]
wtorek, 10 marca 2020
Dzisiaj poruszę bardzo ważny temat, bez którego znajomości, nie nauczysz się pisać dobrych testów jednostkowych. Jak przeczytałeś już w poprzednich artykułach, testy jednostkowe nie powinny dotykać zewnętrznych zasobów. Jak w takim razie testować logikę w metodach, które mają odwołanie do zasobów zewnętrznych? Trzeba użyć sztucznych obiektów, tak zwanych mocków. Co to jest mockowanie? Mockowanie, czyli naśladowanie czegoś, jakiegoś zachowania. W polskim tłumaczeniu można się spotkać z różnymi tłumaczeniami słowa mock, między innymi makieta, ja jednak będę używał po [...]
wtorek, 11 lutego 2020
W poprzednim artykule na blogu wprowadziłem Cię do testów automatycznych. Jeżeli jeszcze go nie czytałeś, koniecznie zapoznaj się z nim, zanim przejdziesz do tego artykułu. Testy jednostkowe (unit tests), są właśnie jednym z typów testów automatycznych. W tym artykule najpierw opowiem Ci trochę o testach jednostkowych w teorii, powiem Ci jakie powinny być dobre testy jednostkowe, a następnie napiszemy pierwszy test jednostkowy, a później kolejne. Zaczynajmy! Czym są testy jednostkowe? Zacznijmy od teorii. Testy jednostkowe są to małe kawałki kodu, które służą [...]
Testy automatyczne, czyli kod, który testuje inny kawałek kodu. Jak sama nazwa wskazuje, są to testy automatyczne, dzięki nim możemy testować nasze aplikacje często i szybko - chcąc przetestować jakąś funkcjonalność w naszej aplikacji, nie musimy jej nawet uruchamiać. Jeżeli mamy kod na przykład do skomplikowanych obliczeń, to możemy go przetestować w sposób manualny, czyli poprzez uruchomienie aplikacji, zalogowanie się, przejście do odpowiedniej zakładki gdzie wykonywane są obliczenia, następnie musimy wypełnić formularz i kliknąć odpowiedni przycisk - dopiero wtedy sprawdzimy wynik. Taki sam zabieg trzeba przeprowadzić [...]
wtorek, 14 stycznia 2020
Każdy programista w swojej karierze ma różne etapy. Zazwyczaj początkujący programiści starają się pisać swoje aplikacji, w taki sposób, aby spełniały wszystkie wymagania, nie zważając na to, w jaki sposób piszą swój kod. Z czasem, gdy rozwijane są kolejne programy, zdobywamy doświadczenie, mamy do czynienia również z jakimś starym, zastanym kodem - przychodzą refleksję. Widzimy, że kod, który został wcześniej napisany, jest ciężki do utrzymywania. Każde kolejne w nim zmiany są coraz trudniejsze do wprowadzenia. Zastanawiamy się jak to zmienić, jak pisać lepszy, czystszy kod, tak [...]
poniedziałek, 30 grudnia 2019
Pora na rozszyfrowanie ostatniej, ale zdecydowanie nie najmniej ważnej litery SOLID, to znaczy D jak Dependency Inversion Principle, czyli Zasadę Odwrócenia Zależności. Zasada ta mówi o tym, że: -Moduły wysokopoziomowe nie powinny zależeć od modułów niskopoziomowych. I jedne, i drugie powinny zależeć od abstrakcji. -Abstrakcje nie powinny zależeć od szczegółów. To szczegóły powinny zależeć od abstrakcji. Systemy, które piszemy, powinny odnosić się do abstrakcji (poprzez zastosowanie interfejsów lub klas abstrakcyjnych), a nie konkretnych elementów. Dzięki stosowaniu się do [...]
© Copyright 2024 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Regulamin. Polityka prywatności. Design by Kazimierz Szpin