İçeriğe geç

New cyclic dependency between modules (ARCH6205)

Anahtar ruby.architecture.new-dependency · Önem warning · Kategori architecture

Yalnız merge request’lerde. Bir klasörü, varsayılan dalda zaten kendisine bağımlı olan (doğrudan ya da en fazla üç adımda) başka bir klasöre bağımlı yapan sabit referansını işaretler: ikisi artık birbirine bağımlı. Kod tabanının çoğunun bağımlı olduğu klasörler ve kendi üst ya da alt klasörüyle olan bağımlılık sayılmaz.

# app/services/billing/invoice_builder.rb - on the default branch app/services/shipping already uses Billing
class Billing::InvoiceBuilder
def call(order) = Shipping::ParcelTracker.new.status(order)
end
app/services/billing/invoice_builder.rb
class Billing::InvoiceBuilder
def call(order, shipment_status:) = shipment_status.for(order)
end