2017-01-19 65 views
5

Nie znalazłem w Internecie nic o zaakceptowanych konwencjach nazewnictwa dla rozwiązania .NET, które zawiera .NET Standard, .NET Core i .NET. Projekty NET Framework.Konwencje nazewnictwa .NET dla rozwiązania ze standardami .NET Standard, .NET Core i .NET Framwork Projects

W moim przypadku mieliśmy następującą konwencję w naszym projekcie można zorganizować .NET:

[CompanyName].[TechnologyName].[Feature] 

Teraz chcemy do tego portu NET Standard i .NET Core. Nie wszystkie klasy w obiekcie działają na wszystkich, więc mamy projekt .NET Standard, do którego odwołuje się projekt .NET Core. Projekt .NET Core jest następnie odniesieniem do projektu .NET Framework. Jak powinniśmy teraz nazwać nasze projekty?

Jednym rozwiązaniem byłoby zawierać nazwę standardu lub Core w przestrzeni nazw:

[CompanyName].Standard.[TechnologyName].[Feature] 
[CompanyName].Core.[TechnologyName].[Feature] 
[CompanyName].[TechnologyName].[Feature] 

lub

[CompanyName].[TechnologyName].[Feature].Standard 
[CompanyName].[TechnologyName].[Feature].Core 
[CompanyName].[TechnologyName].[Feature] 

Ale chcemy wiedzieć, czy istnieje globalna konwencja nazewnictwa dla tego produktu.

+0

Nie jestem przekonany, że potrzebujesz nazwy technologii jako części nazwy swoich projektów. Dlaczego rodzaj podstawowej struktury ma znaczenie dla nazewnictwa twojego projektu? Nazwij swoje rzeczy zgodnie z tym, co robi * dla ciebie *, z twojej perspektywy. Być może projekt działający na platformie .NET Core jest dla Ciebie wieloplatformowy, w takim przypadku nazwy byłyby takie jak "[CompanyName]. [Product]. [Windows]. [Feature]', '[CompanyName]. [Product]. [Wieloplatformowy]. [Reportaż] 'itp. – nawfal

+0

@nawfal: Jednym z powodów może być rozróżnienie kilku wariantów projektu, które są ukierunkowane na różne podstawowe struktury. –

+0

@ O.R.Mapper Wydaje mi się, że byłby to wyjątkowo rzadki scenariusz. Zastanów się, ile duplikacji kodu doprowadzi do tego. W każdym razie sytuacja jest taka, gdy nazywane jest coś w rodzaju '[CompanyName]. [Product]. [Framework]. [Feature]' lub '[CompanyName]. [Product]. [Feature]. [Framework]' miałoby sens, ponieważ jest tak z perspektywy twojego produktu. Po prostu trzymaj się jednej z tych konwencji. W każdym razie sprawa OP jest inna. – nawfal

Odpowiedz

4

Myślę, że pierwotne wytyczne nadal są aktualne. Pobierz próbkę Microsoft.AspNetCore.Mvc. To jest firma, produkt i cokolwiek poniżej. Wersja .NET Standard lub .NET Core powinna być dostarczona pod tą samą nazwą, która jest właśnie zapakowana dla ich docelowego kodu źródłowego. Pobierz próbkę Newtonsoft.Json. Jeśli zestaw powierzchni/funkcji API zmieni się, przejdź do zmiany wersji powodującej łamanie lub zmień nazwę produktu.

Nie dajcie się zwieść dzięki dodatkom Core pod nazwami produktów Microsoft. Decydują się na wprowadzenie nowych produktów ASP.NET Core, .NET Core i EF Core, aby uniknąć wprowadzających w błąd założeń wyższej wersji produktu: ASP.NET 5.

Słuchanie środowiska społeczności ASP.NET Mogę powiedzieć, że ten temat podszedł i doszli do wniosku, że nie wszystko powinno zostać dodane do głównej części nazwy.

Powiązane problemy