SORU
26 EKİM 2010, Salı


Nasıl belirli bir kod satırı için belirli checkstyle bir kuralı devre dışı bırakmak için?

checkstyle geçerlilik kuralı en fazla 3 giriş parametreleri ile sınıf yöntemleri tanımlamak için yasaklayan benim proje, yapılandırılmış var. Kural gayet iyi çalışıyorbenimsınıflar, ama bazen değil itaat eden Taraf üçüncü sınıflar, bu özel kural genişletmek için var.

Talimat bir ihtimal" belli bir yöntem sessizce göz ardı edilmelidir. "checkstyle var

BTW, checkstyle benim kendi sarıcı ile sona erdi: qulice.com

CEVAP
26 EKİM 2010, Salı


http://checkstyle.sourceforge.net/config.html de supressionCommentFilter kullanımını kontrol edin. Senin checkstyle.xml modül eklemek gerekir

<module name="SuppressionCommentFilter"/>

ve yapılandırılabilir. Böylece kodunuzu yorum checkstyle (çeşitli seviyelerde) kapatın ve tekrar kodunuzu yorumlar aracılığıyla yeniden açın ekleyebilirsiniz. E. g.

//CHECKSTYLE:OFF
public void someMethod(String arg1, String arg2, String arg3, String arg4) {
//CHECKSTYLE:ON

Hatta daha iyi, daha burktum bu sürümü kullanın:

<module name="SuppressionCommentFilter">
    <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|] )"/>
    <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|] )"/>
    <property name="checkFormat" value="$1"/>
</module>

size belirli kod satırlarını: Özel kontroller kapatmak için izin verir

//CHECKSTYLE.OFF: IllegalCatch - Much more readable than catching 7 exceptions
catch (Exception e)
//CHECKSTYLE.ON: IllegalCatch

Ayrıca Bkz

<module name="SuppressionFilter">
    <property name="file" value="docs/suppressions.xml"/>
</module>

sen desen eşleşen kaynakları için bireysel kontrolleri kapatmak için izin veren aynı sayfada SuppressionFilter bölümü altında.

Eğer checkstyle.xml içinde varsa:

<module name="ParameterNumber">
   <property name="id" value="maxParameterNumber"/>
   <property name="max" value="3"/>
   <property name="tokens" value="METHOD_DEF"/>
</module>

Bu engelleme ile dosya xml kapatabilirsiniz:

<suppress id="maxParameterNumber" files="YourCode.java"/>

Başka bir yöntem, şimdi Checkstyle 5.7 mevcut @SuppressWarnigns java annotation üzerinden ihlallerini bastırmak için. Bunu yapmak için, yapılandırma dosyanızı yeni modülleri () SuppressWarningsFilter ve SuppressWarningsHolder gerekir:

<module name="Checker">
   ...
   <module name="SuppressWarningsFilter" />
   <module name="TreeWalker">
       ...
       <module name="SuppressWarningsHolder" />
   </module>
</module> 

Daha sonra kod içinde aşağıdakileri yapabilirsiniz:

  @SuppressWarnings("checkstyle:methodlength")
  public void someLongMethod() throws Exception {

ya da, birden fazla baskılar için:

  @SuppressWarnings({"checkstyle:executablestatementcount", "checkstyle:methodlength"})
  public void someLongMethod() throws Exception {

": "Öneki isteğe bağlıdır (önerilen) ve parametre adı tüm küçük olmalıdır. checkstyle

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kanaal van Dj0fifty

    Kanaal van D

    28 EKİM 2011
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • manadude21

    manadude21

    11 Mart 2008