Java sınıfı sürümüne özgü adlandırma kuralları


10

İki yazılım (makine simülasyonu, cs olmayan) arasında bir Adaptör oluşturmak zorundayım. Adında bir sınıfımız olduğunu varsayarsak ThatThing. Satıcıya özgü çeşitli uygulamaları ele almalıyım. Bu sürümler anlamlı isimlere sahip değildir (tutulma helios, indigo vb. Aksine).

1. Sürüm numarasını ifade etmesi gereken bir sınıfı nasıl adlandırmalıyım?

Ben gibi sınıf bulmak ThatThing_3_6_Impl, ThatThing_3_7_Imploldukça garip.

Yanıtlar:


20

Farklı bir paket adı kullanın.

com.example.version36.ThatThing
com.example.version37.ThatThing

Bu, belirli sürümler için tüm "şeyleri" bir arada tutmanıza olanak tanır.

Apache Commons Lang bu biçimi "sürüm 3" yeniden yazmalarını yayınlarken kullandı.


Her iki versiyona da tek bir sınıfta başvurabilmeniz gerektiğinden, isimleri kısaltmak isterim:

ThatThing36
ThatThing37

Senin durumunda, bu yeterince açıklayıcı gibi görünüyor ve çirkin Implve _'s kaldırır .


Kulağa hoş geliyor. Ben bu konuda düşüneceğim. Bu sürümlerin bir araya geldiği yerde, referanslar için tam nitelikli bir ad kullanmamız gerekiyor, değil mi?
user802421

Nasıl bir araya geliyorlar? Bağımlılık enjeksiyonu kullanıyor musunuz? Her iki durumda da, sorunuzu cevaplamak için, evet.
Jeremy Heiler

Sürümler arasında değişen birçok veri modeli sürümü vardır. Bazı spesifik özellik alt kümeleri birbirine karışmaktadır. Hiçbir kütüphane desteği yok (örn. Di yok, codegen yok). Bu 11 yıllık yazılım evriminin
tarihidir

Üzgün. O alarak mümkün mü version37.ThatThinguzatmak version36.ThatThingbazı ağrı rahatlatmak ki?
Jeremy Heiler

Ne yazık ki, yapısal olarak farklıdırlar ve karmaşık dönüşüme ihtiyaç duyarlar. Bitmap ve vektör grafiği gibi.
user802421

2

Çok önemli değil. İfade etmek ve ona bağlı kalmak için ihtiyacınız olan her şeyi ifade eden bir kongre seçin.

ThatThing3_6"That Thing 3.6" için kullanabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.