2009-09-16 10 views
11

Özellikle bir modeli düzenlerken, Rails geçişleri için en iyi uygulama adlandırma kuralı var mı?Rails geçişleri için adlandırma kuralları

örn. Ben Foo modeline bir sütun bar ekliyorum, ben isimlendirmeliyim o edit_foo veya add_bar_to_foo

Birden yapıyorum eğer ben o zaman ben birden göçler oluşturmalıdır mutliple modellerini düzenleme ediyorsam varsayarak ama ne ediyorum Tek bir modelde yapılan değişiklikler, bunu add_bar_remove_x_edit_y_to_foo olarak mı adlandırıyorum?

cevap

5

buysa. Adlandırma okunabilirliğe odaklanmalıdır. Ancak, aynı adla iki geçişe sahip olamayacağınızı (veya yapmamalı) unutmayın. (Eğer o modelde daha fazla sütun eklemek istediğinizde, ne olur beri)

Yani, edit_foo_model gibi genel isimler, o zaman update_foo_for_bar_support gibi amacının ne içine sütunlar grubuna daha iyi olurdu genellikle iyi bir fikir değildir . Genellikle model ekleyerek geçebilirsiniz, iyi, herkes geçişlerin modellerle uğraştığını bilir, bu nedenle isminde (yerine update_foo_model) bahsetmeye gerek yoktur.

Ayrıca, genellikle yaptığım şey, farklı değişiklikleri ayrı tutmaktır. Dolayısıyla, bir modelde birden çok farklı değişiklik varsa, bunları farklı geçiş dosyalarına, biri sütun eklemeye ve örneğin sütunları kaldırmak için birine ayıracağım.

+1

Bu, söyleyişinizin, jenerik edit_foo veya verbose add_bar_to_foo'dan ziyade, modele yaptığınız değişiklikleri yansıtan duyarlı isimlerle ortaya çıktığı gibi geliyor. Örneğin. add_bar_support_to_foo. Göçünüzü birden fazla, alakasız değişiklikler yapıyorsa ve sonra bölüştürün. Bu anlamlı geliyor :) – roryf

0

Buradaki nokta, okunabilirlikten sorumludur - göçün ne için sorumlu olduğunu anlamak için .. isimde çok fazla "veri" yazarsanız, taranmayı zorlaştırır ve kendinizi ayağınıza vurursunuz.

Yani .. 1-2 değişiklikleri, çok fazla değişiklik varsa, bunu isme yazmak update_foo_model (veya edit_foo_model) yazma önceki posteri ile anlaşmak

+1

Sorun şu ki, yaşamda daha sonra benzer bir değişiklik yapmanız gerekiyorsa. Aynı ada sahip taşıma kodunuz olamaz. –

+0

Gerçekten de, çoğu vaka için basit bir çözüm, ortak vakanın sadeliğine değer olduğunu düşünüyorum. – amitkaz

2

Birden çok geçişte birden çok şema değişikliği yapabilirdim! Ardından, tek geçişleri kolayca adlandırabilirsiniz!