SASS – Function & Control Directives

SASS-Syntactically Awesome StyleSheets

SASS (Syntactically Awesome StyleSheets) serimizde, sıradaki video’da sizlere SASS üzerinde function directives ve control directives tanımlama ve kullanma gibi konulara değiniyor olacağım.

@function ile mixin kavramından farklı olarak değer döndüren fonksiyonlar tanımlıyor olacağız.

@if, @for, @each, @while gibi control directive ‘leri kullanarak koşullu stil ifadeleri, döngüler kullanarak bir seri stil’i oluşturma gibi konularda örnekleri aşağıdaki videodan izleyebilirsiniz.

 

kmb-udemy-reklam

Reklamlar

This is DEBUG Code. This is RELEASE Code..

Geliştirdiğimiz uygulamaları DEBUG modda test ederiz ve RELEASE modda ise dağıtırız. Bu farklı mod durumlarında kullandığımız kod adımları ya da bağlantı kurduğumuz veritabanı gibi nesnelerin konumlarında bir değişiklik olabilir. Tabii ki bu her zaman bağlantı kurulan bir konum olmayabilir. DEBUG modda farklı RELEASE modda farklı çalışan kod bloklarınız olabilir(Ki ikiside oluyor 🙂 ). Bu gibi durumlarda, uygulamayı RELEASE etmeden önce, DEBUG kodlarını kapatıp Release kodlarını açmak gerekebilir. DEBUG ederkende tam tersi RELEASE kodlarını kapatıp DEBUG kodlarını açmak gerekebilir. Mesela;

Uygulamada bir hata olduğunu anladık ve VS 2010 ile projemizi açıp DEBUG modda(çünkü testler yapacağız) database’e aşağıdaki gibi DEBUG anında makinamızda bulunan bir veritabanına bağlanacağımız satırı aktif hale getirdik.

private void Form2_Load(object sender, EventArgs e)
{
// DEBUG – Test anında bu bağlantı ile çalışacak..
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("DEBUG !!");
MessageBox.Show(conn.ConnectionString);

// RELEASE – Uygulama dağıtıldığında bu bağlantı ile çalışacak..
//System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("RELEASE !!");
//MessageBox.Show(conn.ConnectionString);

}

Sonra ilgili değişikliği yaptık ve RELEASE modda uygulamayı derleyip dağıtacağız. Fakat RELEASE anında farklı bir konumdaki veritabanına uygulamanın bağlanması gerekiyor. O zaman uygulamayı RELEASE modda derlemeden önce ne yapacağız..

private void Form2_Load(object sender, EventArgs e)
{
// DEBUG – Test anında bu bağlantı ile çalışacak..
//System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("DEBUG !!");
//MessageBox.Show(conn.ConnectionString);

// RELEASE – Uygulama dağıtıldığında bu bağlantı ile çalışacak..
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("RELEASE !!");
MessageBox.Show(conn.ConnectionString);
}

işte bu şekile sokmamız gerekiyor. Çünkü benim test ederken(DEBUG mod) kullandığım veritabanı ile uygulamayı müşterilerime dağıttığımda(RELEASE mod), müşterilerimin kullandığı veritabanı farklı olabilir.(ki olur! 🙂 ) Durumu resimlemek gerekirse şu şekilde;

image

Tabii bu şekilde yapmak yerine kolay yöntemini de göstereceğim. 🙂 Bu şekilde ikide bir değiştirmek yerine olayı şu şekilde yapabilirsiniz..

private void Form2_Load(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection conn = null;
  #if DEBUG
    // DEBUG – Test anında bu bağlantı ile çalışacak..
    conn = new System.Data.SqlClient.SqlConnection("DEBUG !!");
#else
    // RELEASE – Uygulama dağıtıldığında bu bağlantı ile çalışacak..
    conn = new System.Data.SqlClient.SqlConnection("RELEASE !!");
#endif

MessageBox.Show(conn.ConnectionString);
}

İşte bu #if-#endif olayı bizim için yönetecektir. İlgili MSDN kaynağı için tıklayınız..

VS 2010 üzerinde bulunan “çalıştır” butonu yanındaki combobox alanından “Debug” ve “Release” modlar arasında değişim yaptığınızda #if-#endif kodunda farklı alanlar renkelencektir. Buda hangi modda hangi kodun çalışacağını size gösterir.

image

Herkese iyi kodlamalar..