Sabit Değişkenler İçin İpucu

Sabit Değişkenler İçin İpucu
Bu yazıyı blogumdan İngilizce veya Türkçe olarak okuyabilirsiniz.

Projedeki sabitleri karıştırmadan ortak bir çatı altında toplamanız için ufak bir ipucu: hepsini ayrı bir alan adı (namespace) ve / veya static sınıflar (class) altında toplayın:

namespace Constants
{
    public static class Paths
    {
        public static readonly string settings = Application.streamingAssetsPath + "/Settings.json";
        public static readonly string playerSettings = Application.streamingAssetsPath + "/Player.json";
    }

    public static class Tags
    {
        public const string board = "Board";
        public const string metal = "Metal";
        public const string net = "Net";
        public const string stick = "Stick";
    }
    public static class Layers
    {
        public static readonly int player = LayerMask.NameToLayer("Player");
        public static readonly int enemy = LayerMask.NameToLayer("Enemy");
    }
}​


Özellikle string kullanırken çok faydalı bir yöntem. Bu şekilde hem yanlış yazma ihtimaliniz ortadan kalacak hem de bellek yönetimi (memory management) açısından daha verimli bir kod yazmış olacaksınız. En önemlisi de bir sabiti değiştirmek isteidğiniz taktirde bütün projeyi karıştırıp kullandığınız yerleri aramanıza gerek olmayacak.

Not: Tag karşılaştırması yaparken
gameObject.tag == Constants.Tags.board;​

yerine

gameObject.CompareTag(Constants.Tags.board);

yazarsanız performans açısından çok daha iyi bir kod olacaktır.

Yorumlar