القضبان: أفضل الممارسات لمواقع نموذج الطبقة التبعية؟
-
21-08-2019 - |
سؤال
ولدي التطبيق القضبان تتحرك جنبا إلى جنب بشكل جيد إلى حد ما، ولكن الحقيقة أن أفعله هذا بنفسي يعني أن بعض الاحمق الفقراء الذي في النهاية أن نرى هذا ويقول: "ماذا بحق الجحيم كنت أفكر؟ لماذا وضعت هذا هنا؟!؟! "
وأين هو أن الفقراء، آسف الروح الذهاب الى نتوقع أن نرى سلسلة من الفئات التي لا يتم استخدامها من قبل أي شيء ولكن فئة نموذج واحد؟ من الواضح، ويمكنني أن تشوك في the_model.rb جنبا إلى جنب مع الطبقة TheModel، ولكن هذا قد توسع خارج فئتين المخطط ...
وفكرت ليب، لكنها لا تحتاج إلى فوضى رأي الجميع في العالم ....
وشكرا لكم.
وسلفي الشكر لك.
المحلول
وتركها في the_model.rb
حتى كنت في حاجة إليها في أكثر من مكان واحد. إذا كنت ريفاكتور دون داع، وأنت لا تفعل أبسط شيء يمكن ان تعمل. أنت لست في حاجة إليها ستعمل .
وعند هذه النقطة، النمط العام هو إنشاء دليل ل"مخاوف". انظر هذا المنصب مدونة كتبها خميس باك أو <وأ href = "http://marklunds.com/articles/one/394" يختلط = "نوفولو noreferrer"> هذا واحد من قبل بيتر Marklund للحصول على مزيد من المعلومات.
نصائح أخرى
في عام: اتبع القضبان اصطلاحات التسمية عند ترجمة أسماء فئة في مواقع الملفات. (وهذا هو: الحفاظ على FooHelper::Bar
فئة في foo_helper/bar.rb
)
ويمكنك تحديد استثناءات لفئات المساعد الصغيرة التي تستخدم مرة واحدة فقط والاحتفاظ بها في نفس الملف كما النموذج الخاص بك، ولكن هذه يجب أن تكون الاستثناءات. (ولكن العكس صحيح أيضا، لا تخلق من سطر واحد الآلاف من الملفات خط واحد)
واستخدام وحدات بمساحات والدرجة لصالحك. إذا كان لديك فئة المساعد الذي يتم استخدامه فقط من قبل (والتي تعتمد على) النموذج الخاص بك، ووضعها في مساحة الاسم من الطبقة نموذج:
class TheModel::HelperClass
end
وسيتم app/models/the_model/helper_class.rb
الموقع في نظام الملفات
والشيء الذي لا يعتمد على النموذج الخاص بك يمكن ربما لا تزال namespaced
module Bar
class Foo
end
end
والمعيشة في bar/foo.rb
، بالطبع
وربما لا يجب أن نخاف لوضع الامور التي ليست نماذج في lib
- وهذا ما هو هذا الدليل <م> ل م>
وانا اقول المخاوف ، بينما مفيدة، ليست حقا الطريق الصحيح للذهاب لأن ذلك هو وسيلة لتقسيم <م> واحدة م> الصف إلى ملفات متعددة، وكنت لا يبدو أن يفعل ذلك.