CA1714: A jelzők számának többes számú névvel kell rendelkeznie
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1714 |
Cím | A jelzők számának többes számú névvel kell rendelkeznie |
Kategória | Elnevezés |
A javítás kompatibilitástörő vagy nem törik | Törés |
Alapértelmezés szerint engedélyezve a .NET 8-ban | Nem |
Ok
Az enumerálásnak az és System.FlagsAttribute a neve nem "s" végződésű.
Alapértelmezés szerint ez a szabály csak külsőleg látható enumerálásokat tekint meg, de ez konfigurálható.
Szabály leírása
A többes számú névvel FlagsAttribute jelölt típusok, mivel az attribútum azt jelzi, hogy több érték is megadható. A hét napjait meghatározó enumerálás például egy olyan alkalmazásban használható, amelyben több napot is megadhat. Ennek az enumerálásnak "Days" (Napok) nevet kell adni FlagsAttribute . Egy hasonló számbavétel, amely csak egyetlen nap megadását teszi lehetővé, nem rendelkezik az attribútummal, és "Nap" néven is nevezhető.
Az elnevezési konvenciók gyakran keresik a közös nyelvi futtatókörnyezetet megcélzó kódtárakat. Ez csökkenti az új szoftverkódtárakhoz szükséges tanulási görbét, és növeli az ügyfelek bizalmát abban, hogy a kódtárat olyan személy fejlesztette ki, aki jártas a felügyelt kód fejlesztésében.
Szabálysértések kijavítása
Az enumerálás nevét többes számbavételi szóként adja meg, vagy távolítsa el az FlagsAttribute attribútumot, ha több számbavételi értéket nem szabad egyszerre megadni.
Mikor kell letiltani a figyelmeztetéseket?
Ha a név többes számú szó, de nem végződik "s"-sel, nyugodtan mellőzheti a szabálysértést. Ha például a korábban ismertetett többnapos enumerálás neve "DaysOfTheWeek", akkor ez sérti a szabály logikáját, de a szándékát nem. Ezeket a szabálysértéseket el kell tiltani.
Figyelmeztetés mellőzése
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.
#pragma warning disable CA1714
// The code that's violating the rule is on this line.
#pragma warning restore CA1714
Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_diagnostic.CA1714.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.
Kód konfigurálása elemzéshez
A következő beállítással konfigurálhatja, hogy a kódbázis mely részein futtassa ezt a szabályt.
Ezt a beállítást konfigurálhatja csak erre a szabályra, az összes szabályra, vagy az ebben a kategóriában (elnevezés) szereplő összes szabályra, amelyekre vonatkozik. További információ: Kódminőségi szabály konfigurációs beállításai.
Adott API-felületek belefoglalása
A kódbázis azon részeit konfigurálhatja, amelyeken futtathatja ezt a szabályt az akadálymentességük alapján. Ha például meg szeretné adni, hogy a szabály csak a nem nyilvános API-felületen fusson, adja hozzá a következő kulcs-érték párot a projekt egyik .editorconfig fájljához:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Kapcsolódó szabályok
- CA1027: Számjelek megjelölése FlagsAttribute használatával
- CA2217: Ne jelölje meg a számokat a FlagsAttribute használatával