[C#] Uyarıların hata olarak gösterilmesi

Derleyiciler uyarıları bazı ek bilgileri ve kaynak kodunuzun kalite kontrolü hakkında bilgi verebilmektedir. Bizlere daha önce kullandığımız ancak artık kullanılmayan, eklenmiş ama kullanılmamış ya da diğer gereksiz kodlamalar hakkında uyarılar çıkarır. Bazen de uyarılar bizlere yüzeysel bugları , null referance exception veya her zaman true veya false olan koşulları da gösterir.

Bu uyarılar görmezden gelinebilir. Böylelikle uyarılar ile boğuşmak zorunda kalmazsınız veya uyarıları hata olarak gösterebilir ve kodunuzun daha kaliteli olmasını da sağlayabilirsiniz. Eğer uyarıları hata olarak göster derseniz ve kodunuzda uyarı verecek bir kod bulunuyorsa, build ettiğinizde uyarılar size hata olarak fırlatılacak ve build başarısız olacaktır. Uyarıların seviyeleri 0 ile 4 arasında değiştirilebilmektedir. 0 uyarılar kapalı, 4 ise tüm uyarılar açık anlamına gelmektedir.

Örneğin aşağıdaki kod parçasında bir değişken tanımladım ancak kullanmadım. VS bana bu değişkeni hiç kullanmadığım hakkında beni uyarıyor.

using System.Text;
using System.Threading.Tasks;

namespace TreatWarningAsErrorDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string a;
            Console.WriteLine("Treat warning as error");
        }
    }
}

ErrorList penceresinden aşağıdaki uyarıyı görebilirsiniz :

Bu pencerede uyarının hangi dosyada olduğu, bulunduğu satır ve sütun bilgisi, proje bilgisi ve açıklamasını görebilirsiniz.

Aslında bu kötü bir kullanımdır. Oluşturulan değişken ram’de yer açacak ve gereksiz bir alan oluşturacaktır. Bu nedenle bu şekilde bir kullanımın yapılmasını istemeyiz. Bunun önüne geçebilmek için ise uyarıları hataya dönüştürelim.

– Solution Explorer’dan projeyi seçiyoruz ve Alt + Enter ile veya sağ tıklayarak Properties penceresini açıyoruz.
– Açılan pencereden Build sekmesine geçiyoruz. Örnek görüntü aşağıdaki gibidir.

– Treat warnings as errors grubunda bulunan radyo butonlardan All’u seçiyoruz ve ctrl + s ile değişikliği kaydediyoruz.

– Bu değişikliği uyguladıktan sonra ErrorList penceresini tekrar açıyoruz ve uyarının aşağıdaki gibi hataya dönüştüğünü kontrol ediyoruz.

Tüm yapmanız gereken bu kadar. Peki ya bir proje değil de web site kullanıyorsanız nasıl yapacaksınız bu değişikliği ? Şimdi de buna bir göz atalım.

– Ayrı boş bir web site oluşturdum ve ilk olarak default.aspx sayfasını ekledim. Oluşan prole aşağıdaki gibi dosyalara sahip oldu.

– Şimdi ise default.aspx.cs dosyasını açıyor ve uyarı almamızı sağlıyorum. Az önceki gibi bir değişken oluşturuyorum.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string a;
    }
}

– Bu değişkeni oluşturur oluşturmaz VS bana aşağıdaki gibi uyarı veriyor. Bu az önce aldığımız hatanın aynısı.

– Bu uyarıyı hataya dönüştürmek için ise web config’e aşağıdaki gibi bir ekleme yaparak build etmeliyiz.

  <system.web>
    <compilation debug="false" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

  <!-- Eklenecek alan -->
  <system.codedom>
    <compilers>
      <compiler
        language="c#;cs;csharp"
        extension=".cs"
        type="Microsoft.CSharp.CSharpCodeProvider, System,
          Version=2.0.3600.0, Culture=neutral,
          PublicKeyToken=b77a5c561934e089"
        compilerOptions="/warnaserror"
        warningLevel="4"/>
    </compilers>
  </system.codedom>
  <!-- Eklenecek alanın sonu -->
</configuration>

– Buil ettikten sonra uyarıları artık hata olarak göreceksiniz.

Bir sonraki yazımda ise aldığımız spesifik uyarıların nasıl gizleneceğini anlatacağım.

Görüşmek dileğiyle.

 

Kaynak : http://lostechies.com/jimmybogard/2007/10/04/treat-warnings-as-errors/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir