WFCD / Warframe.NET

Under rewrite: Collection of Warframe libraries for C# developers.
MIT License
22 stars 8 forks source link

Unify target frameworks and change root namespaces #21

Open TehPers opened 4 years ago

TehPers commented 4 years ago

This PR has 3 major changes in it:

1. Unify target frameworks

Previously, both of the projects targeted different frameworks. WorldState.Data targeted netstandard1.0 while WorldState targeted netstandard1.6. This PR changes WorldState.Data so that it targets netstandard1.6 as well. This means that the features available through the .net standard would be the same between both projects.

netstandard1.6 should support most projects. It is supported by .Net Framework 4.6.1+ and .Net Core 1.0+. If you'd like to target an earlier standard, we can change them to both target netstandard1.0 or netstandard1.1 instead, but older versions of the standard will also have fewer packages available to them, and I'm not sure what packages this project will use in the future.

2. Change root namespaces

"WorldState" as a namespace name does not indicate that this project is related to Warframe. As such, I think it would be better to use "Warframe" in your namespace name. It clarifies that the types under the namespace are related to Warframe in some form or another. While this may seem trivial, in a large project with dozens of packages being imported (such as a multi-purpose discord bot or website), this distinction may be important for the developers so they understand which types are related to Warframe.

We discussed over Discord which namespace you would prefer, and you suggested "Warframe" and "Warframe.Data". I have another suggestion as well, however this PR uses the namespaces that you suggested. My other suggestion is "Wfcd.Warframe"/"Wfcd.Warframe.World". The namespaces I'm suggesting clearly show that the types are not being provided by DE, but are instead WFCD types.

3. Update project names

Since the root namespace is changing, I went ahead and changed the project names to match the root namespaces. I can revert this change if you would prefer, but I thought it might make sense to have the project names match the root namespaces.