Bir çok sabit olan bir uygulama üzerinde çalışıyorum. Son kod incelemesinde, sabitlerin çok dağınık olduğu ve hepsinin tek bir "ana" sabit dosya halinde düzenlenmesi gerektiği ortaya çıktı. Anlaşmazlık onları nasıl organize edeceğimizle ilgili. Çoğunluk, sabit ismi kullanmanın yeterince iyi olması gerektiğini düşünmektedir, ancak bu, şuna benzer bir koda yol açacaktır:
public static final String CREDITCARD_ACTION_SUBMITDATA = "6767";
public static final String CREDITCARD_UIFIELDID_CARDHOLDER_NAME = "3959854";
public static final String CREDITCARD_UIFIELDID_EXPIRY_MONTH = "3524";
public static final String CREDITCARD_UIFIELDID_ACCOUNT_ID = "3524";
...
public static final String BANKPAYMENT_UIFIELDID_ACCOUNT_ID = "9987";
Bu tür bir adlandırma kuralını hantal buluyorum. İç içe geçmiş sınıfı kullanmanın ve bunun gibi bir şeye sahip olmanın daha kolay olabileceğini düşündüm:
public class IntegrationSystemConstants
{
public class CreditCard
{
public static final String UI_EXPIRY_MONTH = "3524";
public static final String UI_ACCOUNT_ID = "3524";
...
}
public class BankAccount
{
public static final String UI_ACCOUNT_ID = "9987";
...
}
}
Bu fikir iyi karşılanmadı çünkü “çok karmaşıktı” (bunun neden bu kadar karmaşık olabileceğine dair fazla ayrıntı alamadım ). Bunun, ilgili sabit gruplar arasında daha iyi bir ayrım yarattığını ve otomatik tamamlamanın da bunları bulmayı kolaylaştırdığını düşünüyorum. Bunu daha önce hiç görmedim, bu yüzden bunun kabul edilebilir bir uygulama olup olmadığını veya yapılmaması gereken daha iyi nedenlerin olup olmadığını merak ediyorum.