لقد كنت أكتب نصًا برمجيًا، مدفوعًا بملف YAML، لإعادة ترتيب موقع Discourse. هذا لأنني أخطط لإعادة ترتيب ضخمة جدًا لأكبر موقع لدي لجعله أسهل في التنقل، ولن أنتهي منه أبدًا إذا حاولت القيام بذلك من خلال واجهة المستخدم.
النص البرمجي الخاص بي لا يحتوي على أي اختبارات وحدات، وبينما أنا مؤيد عام لاختبارات الوحدات وكنت كذلك لفترة طويلة، لست متحمسًا لكتابة أي منها لهذا النص البرمجي.
النص البرمجي هو في الواقع إطار عمل للبناء عليه - لن يرغب الجميع في نفس الدلالات التي أريدها. بهذا المعنى، فهو يشبه إلى حد ما بعض نصوص الترحيل حيث تتوقع أن يقوم الأشخاص بتعديلها لتناسب احتياجاتهم.
مع هذه القيود، هل هذا شيء يستحق تقديمه كطلب سحب (PR)؟ أم يفضل الأشخاص أن أقوم بنشره ككتلة تعليمات برمجية، ربما في #documentation:sysadmin؟
أريد في الغالب مساعدة أي شخص آخر يحاول القيام بشيء مماثل. أيضًا، قد تساعد الوظائف الفعلية الأشخاص في معرفة ما يجب فعله في وحدة تحكم Rails.
لا أفهم “MSN” ولكن في حالتي، ما أفعله يتضمن نقل المشاركات بين الفئات، وإضافة علامات، وإعادة تعيين الآباء للمشاركات، وإخفاء الفئات، وإضافة عمليات إعادة توجيه… بعض المهام مغطاة في “الإجراءات المجمعة الإدارية” وبعضها لا، ولكن في كلتا الحالتين، كلها من برنامج نصي واحد.
حاليًا، في حالتي، هذه 112 إجراءً. أنا لا أكتب ذلك في مزيج من rails c و rake ذهابًا وإيابًا، ربما عدة مرات في الساعة بينما أستكشف عمليات إعادة تنظيم مختلفة لموقعي مع قيادة موقعي.
السؤال ليس “كيف يمكنني تحقيق ذلك؟” - لقد كتبته بالفعل، على الرغم من أنني أنوي الاستمرار في تحسينه (على سبيل المثال، ربما سأجعله يكتب أيضًا سجل تدقيق كامل ومفصل، وهو شيء لا يفعله بعد ولكن قد أرغب في الحصول عليه قبل أن أقوم بتشغيل هذا بالفعل للموقع المباشر).
السؤال هو: كيف أفضل مشاركته؟ لا أرى شيئًا كهذا في الدليل scripts/ (على الرغم من أنني ربما فاتني شيء ما) وأقدر أن طلبات السحب (PRs) يجب أن تأتي عادةً مع اختبارات آلية (على الرغم من أنني لا أعرف مدى قوة تطبيق هذا على الدليل scripts/). في الوقت نفسه، هو بالفعل أكثر من 150 سطرًا ويتزايد، وهو ما يبدو كبيرًا للمشاركة عن طريق نشره هنا، حيث سيكون أكبر بكثير من صندوق الكود.
لكي يعمل عند وضعه في دليل البرامج النصية. هل هناك نمط شائع لوضعه خارج دليل discourse؟ (لا أرى شيئًا في .gitignore مثل نمط الإضافات لفحص الأشياء بخلاف الإضافات داخل فحص.)
إذا لم يكن الأمر كذلك، يمكنني فقط القول “انسخه إلى scripts/” كتعليمات التثبيت، ولكني أريد فقط معرفة ما إذا كان هناك شيء يمكنني فعله لكي أتناسب بشكل أفضل.