Konwencje nazewnictwa klas

0

Zastanawia mnie taka sprawa ostatnio: która konwencja nazewnictwa klas jest lepsza?
Xyz.XyzManager
Xyz.XyzConfig
Xyz.XyzItem

Czy

Xyz.Manager
Xyz.Config
Xyz.Item

?

Niby pierwszy wariant wydaje się zawierać pewną nadmiarowość, ale praktyka pokazuje, że i tak każdy zaimportuje daną przestrzeń nazw, więc

new Manager()

Może być trochę niezbyt jasne. Ewentualnie dochodzi do kolizji i trzeba jawnie podawać Xyz.Manager(), co jest dłuższe o jeden znak w stosunku do alternatywnego rozwiązania ;)

0

Ja kiedyś używałem pierwszej formy, ale ostatnio przerzuciłem się na omijanie nadmiarowego prefiksa, bo później kończy się z czymś w rodzaju:

using Project.Foo;
var foo = new FooContainer();
foo.AddFoo(new FooData(3));

Ale jeśli w projekcie jest już stosowana konwencja pierwsza lub druga to ofc się jej trzyma...

Tak czy inaczej, ja tutaj widzę większy problem: :]
http://c2.com/cgi/wiki?DontNameClassesObjectManagerHandlerOrData

1

Pierwsze rozwiązanie gdzieś ktoś kiedyś nazwał smerfo-mową. Nie smerfo-stosuję tego smerfo-rozwiązania, smerfo-oszczędzam smerfo-klawiaturę ;)

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