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.
Yanlış
Bölüm başlığı “Yanlış”# app/services/billing/invoice_builder.rb - on the default branch app/services/shipping already uses Billingclass Billing::InvoiceBuilder def call(order) = Shipping::ParcelTracker.new.status(order)endclass Billing::InvoiceBuilder def call(order, shipment_status:) = shipment_status.for(order)end