Kilka pytań na temat jakości kodu - NTriq

Odpowiedz Nowy wątek
2015-02-02 17:57
Biały Lew
0

Witam,

Przeanalizowałem dziś mój kod za pomocą narzędzia NTriq. Większość elementów jest zielona, czyli pozytywnie.
Niektóre jednak elementy są oznaczone jako Warning i chciałbym Was prosić o:

  • rady
  • wyjaśnienie

1.) Abstrakcyjne klasy nie powinny zawierać konstruktora.
W moim kodzie pewne zmienne instancyjne danej klasy abstrakcyjne ustawiam właśnie w jej konstruktorze. Narzędzie Ntriq zgłasza mi warning, iż tak być nie powinno i powinienem przemyśleć zmianę tego fragmentu kodu.
Możecie mi wytłumaczyć dlaczego jest złą praktyka by w klasie abstrakcyjnej tworzyć konstruktor?

2.) Avoid Namespaces with few types
Czy ten komunikat oznacza, aby unikać jednej przestrzeni nazw dla wielu typów? Może źle rozumiem?
Możecie mi to wytłumaczyć? W moich dll-kach używam dla każdej klasy jednego namespace co prawda, ale tych klas nie jest znów tak wiele by generować warning - ot raptem 2 klasy w jednej dll-ce a mimo to zgłoszono warning.

Pozdrawiam.

Pozostało 580 znaków

2015-02-02 18:22
0

1) Nie chodzi o konstruktor w ogóle, ale o publiczny konstruktor. Po co w klasie konstruktor, którego Ty nie możesz wywołać?
2) Nie, ten komunikat oznacza, aby unikać namespaców dla niewielu typów. Jeśli masz tylko jeden typ w każdym namespace, to coś masz mocno nie tak z organizacją kodu.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2015-02-02 18:34
Biały Lew
0

Rozumiem, bardzo dziękuję.
Co do punktu 1 faktycznie. Logiczne. Już poprawione.

Co do punktu 2, to narzędzie to wykrywa nawet System.Data jako Warning, więc czyżby nawet platforma .NET była napisana z pewnymi problemami organizacyjnymi? Faktem jest, że u mnie mam dll-kę z dwoma tylko klasami, więc faktycznie biorąc pod uwagę reguły zostanie to wykryte jako Warning. Jednak czy to ostrzeżenie nie jest zbyt restrykcyjne?

Pozostało 580 znaków

2015-02-02 18:59
0

Taka już jest idea ostrzeżeń, żeby były restrykcyjne, a programista może się do nich zastosować lub nie w zależności od kontekstu.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2015-02-08 12:21
0

Co do punktu 2, to narzędzie to wykrywa nawet System.Data jako Warning, więc czyżby nawet platforma .NET była napisana z pewnymi problemami organizacyjnymi?

Kiedy projektowano System.Data to nie wiedziano jeszcze, że kiedyś ktoś napisze Nitriq które będzie się czepiać namespace'ów z małą ilością klas.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0