Aracılığıyla paylaş


CA1500: Değişken adları alan adlarıyla eşleşmemelidir

Ürün Değer
RuleId CA1500
Kategori Microsoft.Maintainability
Hataya neden olan değişiklik Alanla aynı ada sahip bir parametre tetiklendiğinde:

- Hataya neden olmayan - Yaptığınız değişiklik ne olursa olsun, parametreyi bildiren alan ve yöntem derleme dışında görülemiyorsa.
- Hata - Alanın adını değiştirirseniz ve derleme dışında görülebilir.
- Hata - Parametrenin adını ve bunu bildiren yöntemi değiştirirseniz, derleme dışında görülebilir.

Alanla aynı ada sahip bir yerel değişkende tetiklendiğinde:

- Hataya neden olmayan - Yaptığınız değişiklik ne olursa olsun, alan derlemenin dışında görülemiyorsa.
- Hataya neden olmayan - Yerel değişkenin adını değiştirirseniz ve alanın adını değiştirmezseniz.
- Hata - Alanın adını değiştirirseniz ve bu alan derlemenin dışında görülebilir.

Neden

Örnek yöntemi, adı bildirim türündeki bir örnek alanıyla eşleşen bir parametre veya yerel değişken bildirir. Kuralı ihlal eden yerel değişkenleri yakalamak için, test edilen derleme hata ayıklama bilgileri kullanılarak derlenmelidir ve ilişkili program veritabanı (.pdb) dosyası kullanılabilir olmalıdır.

Kural açıklaması

Örnek alanının adı bir parametre veya yerel değişken adıyla eşleştiğinde, örnek alanına yöntem gövdesinin içindeyken (Me Visual Basic'te) anahtar sözcüğü kullanılarak this erişilir. Kodu korurken bu farkı unutmak ve parametrenin/yerel değişkenin örnek alanına başvurduğunu ve hatalara yol açtığını varsaymak kolaydır. Bu, özellikle uzun yöntem gövdeleri için geçerlidir.

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için parametreyi/değişkeni veya alanı yeniden adlandırın.

Uyarıların ne zaman bastırılması gerekiyor?

Bu kuraldan uyarıyı bastırmayın.

Örnek

Aşağıdaki örnekte kuralın iki ihlali gösterilmektedir.

using System;

namespace MaintainabilityLibrary
{
   class MatchingNames
   {
      int someField;
   
      void SomeMethodOne(int someField) {}
      
      void SomeMethodTwo()
      {
         int someField;
      }
   }
}