-
Notifications
You must be signed in to change notification settings - Fork 0
Code
SwissArmyKnife's code is fully documented and unit tested C# code, with a lot of benchmarks using BenchmarkDotNet. It's fully compatible with other .NET languages like VB.net and targets multiple .NET frameworks:
- .NET 4.6.1
- NETSTANDARD 2.0
The code is written with the following principles in mind:
- No build errors or warnings
- Unit test everything
- (XML) Documentation for everything
- Benchmark as much as possible
- The only external dependency is
System/mscorlib
SwissArmyKnife builds with no errors or warnings. To enforce this, the project setting 'Treat warnings as errors' is set to true for all build configurations. The only warning it might generate in consuming code is Obsolete, when some functionality might be deprecated in the future.
Every public (public or protected) method or class is unit tested using xUnit.
Every method or class in SwissArmyKnife has complete XML documentation. The XMLdoc is exported on build and included in the NuGet package. This documentation shows up in the IntelliSense popups inside Visual Studio.
Usage documentation is available on this Wiki.
Using BenchmarkDotNet much of the code is benchmarked. Inside the solution is a executable SwissArmyKnife.Benchmarks project to run the benchmarks.
SwissArmyKnife keeps the external dependencies to a minimum. It only depends, like every other .NET project, on System/mscorlib.
Since SwissArmyKnife is written in C#6 you need at least Visual Studio 2017. The free Community edition is perfectly fine.