Metryki kodu w Visual Studio 2010

Bawiąc się ostatnio Visual Studio 2010 przez przypadek kliknęła mi się opcja na projekcie „Calculate Code Metrics”. Po paru chwilach pokazała mi się wypełniona tabelka z następującymi metrykami:

  • Maintainability index
  • Cyclomatic Complexity
  • Depth of Inheritance
  • Class Coupling
  • Lines of code

Powyższe metryki są bardzo przydatne podczas pisania kodu. Jeśli ktoś z Was będzie się chciał dowiedzieć czegoś więcej, co każda z powyższych metryk znaczy, to zapraszam na stronę:

http://msdn.microsoft.com/en-us/library/bb385914(lightweight).aspx

Advertisements

~ - autor: kaprys12 w dniu Lipiec 5, 2010.

Odpowiedzi: 2 to “Metryki kodu w Visual Studio 2010”

  1. Mam zapytanie odnośnie CAB’a i metodologii, a raczej tzw. best practice w CAB’ie?

    Chodzi o WorkItem’y oraz Widoki (Views). Nurtuje mnie pytanie gdzie tak naprawdę powinien znajdować się kod który wciska coś (dane) do widoków – w workitemie, czy też w presenter danego Widoku? W obu przypadkach dane do widoku wciskane są poprzez metody zdefiniowane w interfejsie widoku.
    Tak samo gdzie powinny znajdować się metody oznaczone atrybutem:
    [CommandHandler(CommandNames.XXXXManagment)]

    W sumie będąc i w WI i w presenter równie dobrze działają…. gdy się je wywołuje poprzez Event’y, ale nie jestem przekonany do ich lokalizacji gdy polecenia/widoki są „wołane/ustawiane” innymi mechanizmami.

    Gdybyś mógł mi podpowiedzieć i dodać do tego mocny argument byłbym wdzięczny (próbuję zrobić porządek w kodzie 🙂 trzymając się dobrych wzorców).

    • Trochę długo to trwało, ale dopiero teraz na święta mam trochę czasu i mogę Ci odpowiedzieć.
      Dość dawno nie używałem już CAB-a, będzie jakieś 4 lata, ale z tego co pamiętam CAB korzysta z wzorca MVC, a same dane do widoku powinny być pobierane przez Controller-a. Workitem-y służą raczej do zarządzania widokami niż do wyświetlania danych. Jeśli chcesz przekazać pomiędzy widokami jakieś dane lub też chcesz aby dany Workitem był „statable”, skorzystaj z atrybutu State – ale to pewnie wiesz 🙂
      Commanding w CAB-ie został zaprojektowany z myślą, aby obsłużyć raczej akcje biznesowe, globalne w aplikacji, niż raczej pojedyncze akcje na danym widoku. Przydają się np. kiedy masz w aplikacji pasek z akcjami tylko dla danego widoku (np. dodawanie, edycja, usuwanie elementów z listy), to rejestrujesz je w Workitem-ie tak aby podczas jego uruchomienia i wstrzyknięcia Widoku, były one widoczne. Ja rejestrowałem te metody w Workitem-ie, dzięki czemu miałem oddzielone akcje samego widoku od akcji biznesowych. Ale tak jak powiedziałeś, dobrze one działają zarówno w WI jaki i w presenterze. Dlatego mocnego argumentu tutaj nie ma, dlaczego masz to robić tak, albo inaczej. Jeżeli chcesz się trzymać stricte podejścia MS, to rób to, tak jak oni to pokazują w przykładach. Jeśli masz swój pomysł na organizację tego, to też będzie to dobre, jeśli umiesz nad tym zapanować 🙂

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

 
%d bloggers like this: