2011-06-20 19 views
5

Evet, bu soruyu gördü:Belirli bir kod satırı için belirli bir denetim stili kuralı nasıl devre dışı bırakılır?

How to disable a particular checkstyle rule for a particular line of code?

Ama yorum yapamam ve OP sorulan ne mümkün olup olmadığını sormak istedim:

Nasıl bir özellikle devre dışı bırakmak için Is there a way to force Checkstyle to ignore particular warning in the source code?

: Ben de bu gördüğüm

kod satırı için kural Sanırım sorumun cevabı, java'daki yorumların neye benzemesi gerektiğini anlamıyorum.

Aşağıdaki kod var ki:

public class MyDataContainer { 
    /** the name */ 
    public String name; 
} 

ve ben "Görünürlük Değiştirici" uyarı kurtulmak istiyorum ve uyarı sadece.

Etkinleştirmek için ne gerekiyor (eclipse--cs.sf.net eklentisini kullanarak)?

Ve yorumlarımın nasıl görünmesi gerekiyor?

Ben Söndürme Yorum Filtre etkinleştirmek ve

//CHECKSTYLE:OFF 
//CHECKSTYLE:ON 

ile benim bütün sınıf çevreleyen başardı ama bu çözümün hazzetmiyorum.

+1

Çok önemli olduğundan emin misiniz? Eclipse'deki tüm projelerimde yayınlanmak üzere bile bir sürü Uyarım var. Ne yaptığını biliyorsan, Eclipse'deki marjda neden sarı bir işarete sahip olursun? – Snicolas

+0

neden bu kontrolü xml'den kaldırmıyorsunuz? – abalogh

+8

@Snicolas Bu çok önemlidir. Daha iyi kod kalitesi elde etmek için bir şey. Projelerimizde kod kuralları Eclipse'deki Uyarı/Hata ayarını içerir ve tüm proje uyarı gerektirmez. Bu Uyarıları umursamadığınız zaman çok kısa bir sürede binlerce projeye sahip olacaksınız ve hiç kimse bir başka 10 uyarı daha eklemeyecek ... –

cevap

11

Biraz geç, ileride referans içindir:

Eğer SuppressWithNearbyCommentFilter bu şekilde kullanabilirsiniz:

: Eğer yazabilir uyarıyı devre dışı bırakmak istediğiniz yere satırda

<module name="SuppressWithNearbyCommentFilter"> 
    <property name="commentFormat" value="CHECKSTYLE DISABLE ([\w\|]+) FOR (-?\d+) LINES"/> 
    <property name="checkFormat" value="$1"/> 
    <property name="influenceFormat" value="$2"/> 
</module> 

örneğin

// CHECKSTYLE DISABLE <WarningName> FOR <# of lines> LINES 

// CHECKSTYLE DISABLE MagicNumber FOR 2 LINES 

Numara da negatif olabilir (uyarı, dokunmadığınız bazı otomatik olarak oluşturulan kodda ise).

İlgili konular