New cyclic dependency between modules (ARCH8205)
Anahtar kotlin.architecture.new-dependency · Önem warning · Kategori architecture
Yalnız merge request’lerde. Bir paketi, varsayılan dalda zaten kendisine bağımlı olan (doğrudan ya da en fazla üç adımda) başka bir pakete bağımlı yapan import’u işaretler: ikisi artık birbirine bağımlı. Kod tabanının çoğunun bağımlı olduğu paketler ve kendi üst ya da alt paketiyle olan bağımlılık sayılmaz.
Yanlış
Bölüm başlığı “Yanlış”// on the default branch app.shipping already imports app.billingpackage app.billing
import app.shipping.ParcelTracker
class InvoiceBuilder(private val tracker: ParcelTracker)package app.billing
interface ShipmentStatus { fun of(orderId: Long): String } // implemented in app.shipping
class InvoiceBuilder(private val status: ShipmentStatus)