widzę, że ten temat został porzucony ponad rok temu, ale nadal chciałbym podzielić się moją opinią na temat tej konwencji.
Przede wszystkim posiadanie wielu klas o tej samej nazwie, ale różniących się tylko wielkością parametrów, nie zawsze jest zgodne z poprzednią wersją. Z pewnością nie widzisz tego zbyt często, ale nowe klasy Action i Func .NET zostały zaprojektowane właśnie w ten sposób, a ja obecnie wdrażam coś podobnego.
Dla jasności i rozróżnialność używam następującą konwencję, że tylko określa liczbę ogólnych argumentów dla danego typu:
- MyClass.cs
- MyClass.T1.cs
- MyClass.T2 .cs
W ten sposób moje nazwy plików pozostają krótkie i proste, a jednocześnie wyraźnie przekazują nazwę klasy i różną ilość parametrów typu kosztem prostej dodatkowej kropki (co jest, moim zdaniem, powszechnie przyjętą rzeczą do zrobienia w nazwie pliku i wygląda znacznie lepiej niż przecinki i inne niealfanumeryczne postacie, ale to tylko kwestia gustu, jak sądzę).Umieszczanie nazw (lub akronimów) parametrów typu tylko wydłuża nazwy plików, podczas gdy na tym poziomie nie jestem tak naprawdę zainteresowany rzeczywistymi nazwami parametrów typu, tak czy inaczej ...
Mógłbyś podać przykład klasy, która zarówno specyficzny typ rodzajowy i o tej samej nazwie (co prawdopodobnie nie jest to fantastyczny pomysł, aby zacząć?) .NET nie- typy ogólne są dostępne tylko w celu zapewnienia zgodności wstecznej. –
"Czy możesz podać przykład klasy, która jest zarówno typowa, jak i rodzajowa, o tej samej nazwie" - sam podałeś jedną odpowiedź: bibliotekę klas, która wymaga kompatybilności wstecznej! – Joe