Development z Zapomnianej Strony

..:: Paweł Hofman .NET Portal ::..

Sam temat nie powinien być nieznany. Atrybuty to od takie dodatkowe adnotacje w kodzie, które możemy “przypiąć” do klas, metod, pól (itd.), które nadają im bardziej mistyczne własności, objawiające się już dalej podczas działania samej aplikacji. Ot, po prostu gdzieś później sami będziemy sprawdzać, czy dana klasa, pole czy metoda jest naznaczona wykonywać dla niej specjalny kod, który jest ukryty pod ‘if’ dla typowych elementów.

Jednakże te ‘systemowe’ atrybuty, które oferuje platforma czy kompilator .NET potrafią coś więcej. Dziś pokażę wybrane atrybuty .NET, które według mnie zasługują na szerszy rozgłos i użycie. Niejednokrotnie znajomość ich ułatwiła mi pracę, zatem mam nadzieję, że komuś jeszcze pomogą.

  • InternalsVisibleTo – sprawia, że bez ujawniania chronionych klas, “zaprzyjaźniony” tym atrybutem projekt testów jednostkowych (unit test) będzie widział wszystko i mógł tworzyć bez problemu instancje tych klas.
  • Conditional – pozwala wyrzucić z kodu te funkcje (ich definicje oraz wywołania), dla których wskazany warunek nie jest prawdziwy. Przydatne bardzo do logowania operacji w trybie ‘Debug’, które nie są nam potrzebne w trybie ‘Release’. Oczywiście funkcje muszą spełnić kilka warunków, ale to już odsyłam do dokumentacji.
  • AllowPartiallyTrustedCallers – pozwalamy używać swojego kodu nie w pełni autorytatywnemu kodowi (np. ściągniętemu z Internetu, który nie ma pełni praw wykonania na lokalnej maszynie).
  • TestClass / TestMethod – atrybuty używane w projektach testów od oznaczania pojedynczych testów. Głównie używane z Microsoft Testing Framework, jednakże z poziomu funkcjonalności API, posiada on komplementarne funkcje do NUnit, dzięki czemu przy użyciu kilku dyrektyw ‘using’ można te atrybuty przekształcić na identyczne z NUnit. Dzięki czemu nasz kod testuje się świetnie w systemie Window oraz na maszynach z Linuxem czy MacOS, gdzie dostępne jest Mono.


Dzisiaj wystartował mój najnowszy projekt open-source, oparty o licencję Apache 2.0. Jest nim oczywiście .NET-owa biblioteka do zapisywania/odczytywania wiadomości w formacie JSON. Kod źródłowy oraz binaria znaleźć można na codeplex.com.

Zachęcam do zerknięcia na nią okiem z powodów takich jak:

  • pełne wsparcie standardu JSON
  • mały rozmiar plików wykonywalnych (~30kb)
  • wsparcie dla .NET 2.0+, Compact Framework 2.0 oraz Mono.NET 2.6
  • prostotę i wygodę użycia API
  • wysokiej jakości kod, oparty o testy automatyczne!


18 czerwca na XI spotkaniu Wrocławskiej Grupy .NET przedstawiłem tę oto prezentację. Omówiłem w niej zbiór narzędzi, który stanowi uzupełnienie Visual Studio i jest wręcz ‘niezbędnikiem’ podczas codziennej pracy programisty .NET.

Materiały z sesji pobrać można tutaj.



Autor

Paweł Hofman [CodeTitans]

ASP.NET
C/C++, C#, Objective-C
SQL

License and Disclaimer

Moje Gry i Aplikacje

Zobacz mnie na GoldenLine

Zobacz mnie na LinkedIn
Supported by Polish SQL Server User Group (PLSSUG)

Supported by WrocNet.org

Zine.net.pl

Wpisy

Projekty

Moje projekty open-source:

Sign in