EcoCode 1.0.6

dotnet add package EcoCode --version 1.0.6
NuGet\Install-Package EcoCode -Version 1.0.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EcoCode" Version="1.0.6">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EcoCode --version 1.0.6
#r "nuget: EcoCode, 1.0.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EcoCode as a Cake Addin
#addin nuget:?package=EcoCode&version=1.0.6

// Install EcoCode as a Cake Tool
#tool nuget:?package=EcoCode&version=1.0.6

EcoCode on NuGet EcoCode on NuGet

EcoCode-C#

ecoCode is a collective project aiming to reduce environmental footprint of software at the code level. The goal of the project is to provide a list of static code analyzers to highlight code structures that may have a negative ecological impact: energy and resources over-consumption, "fatware", shortening terminals' lifespan, etc.

ecoCode is based on evolving catalogs of good practices, for various technologies.

This set of Roslyn analyzers implements these catalogs as rules for scanning your C# projects.

⚠️ This is still a very early stage project. Any feedback or contribution will be highly appreciated. Please refer to the contribution section.

License: GPL v3 Contributor Covenant

🚀 Getting Started

There are several ways you can use the ecoCode analyzers in your .Net projects:

  1. As a NuGet package : https://www.nuget.org/packages/EcoCode/.
  2. As a Visual Studio extension : https://marketplace.visualstudio.com/items?itemName=greencodeinitiative.ecoCode
  3. Coming soon : as a VS Code extension.
  4. Coming soon : as a .Net CLI Tool to scan existing code bases.
  5. Coming soon : a documentation on how to set up SonarScanner for .Net and display the EcoCode warnings in SonarQube.

🧩 Compatibility

Both the EcoCode NuGet package and Visual Studio extension target .Net Standard 2.0 and can be used in a wide range of projects. See Microsoft documentation for details about the supported .Net Frameworks in .Net Standard 2.0.

🌿 Rules

Id Description Severity Enabled Code fix
EC69 Don’t call loop invariant functions in loop conditions ⚠️ ✔️
EC72 Don’t execute SQL queries in loops ⚠️ ✔️
EC75 Don’t concatenate strings in loops ⚠️ ✔️
EC81 Specify struct layouts ⚠️ ✔️ ✔️
EC82 Variable can be made constant ℹ️ ✔️ ✔️
EC83 Replace Enum ToString() with nameof ⚠️ ✔️ ✔️
EC84 Avoid async void methods ⚠️ ✔️ ✔️
EC85 Make type sealed ℹ️ ✔️ ✔️

🤝 Contribution

See contribution on the central ecoCode repository.

🤓 Main contributors

See main contributors on the central ecoCode repository.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.6 40 5/4/2024
1.0.6-beta3 74 4/29/2024
1.0.6-beta2 64 4/28/2024
1.0.6-beta1 85 4/27/2024
1.0.5 83 4/26/2024
1.0.4 154 4/16/2024
1.0.3 120 4/11/2024
1.0.2 134 4/3/2024
1.0.1 128 3/23/2024
1.0.1-beta8 129 3/23/2024
1.0.1-beta7 129 3/17/2024
1.0.1-beta5 119 3/14/2024
1.0.1-beta4 108 3/14/2024
1.0.1-beta3 95 3/14/2024
1.0.1-beta2 83 3/14/2024