Githawk: إعادة تعيين الإشارات المرجعية (مرة أخرى)

تم إنشاؤها على ٥ نوفمبر ٢٠١٧  ·  14تعليقات  ·  مصدر: GitHawkApp/GitHawk

نظرًا لأننا نستخدم نموذجًا صارمًا جدًا من التعليمات البرمجية ، فستتم إعادة تعيين الإشارات المرجعية في أي وقت نقوم فيه بتعديل البنية.

الشكل التوضيحي أ: https://github.com/rnystrom/GitHawk/blob/10e7b67f581ee05403fe44e4e9a444bafda0f05f/Classes/Bookmark/BookmarkModel.swift#L28 قد كسرها مرة أخرى (آسف!)

هل هناك طريقة يمكننا من خلالها تغيير هذا الأمر ليكون أكثر مرونة ، وإلا سنواجه مشكلات حيث لا يمكننا تعديل وظائفه بشكل أساسي دون تدمير ذاكرة التخزين المؤقت!

أفكر ، مع الأخذ في الاعتبار أنني لم أفعل الكثير مع الترميز ، فقد لا يكون ذلك ممكنًا ، ولكن إذا كتبنا الحرف الأول الخاص بنا من قابل للتشفير ، فيمكن التعامل مع القيم الجديدة كقيمة اختيارية وافتراضية؟ (سيؤدي هذا أيضًا إلى حدوث مشكلات لأنه ، على سبيل المثال على سبيل المثال أعلاه - الفرع الافتراضي = خطأ = عرض الكود سيكون خاطئًا لذا 😕)

Yh لست متأكدًا من rizwankce أي أفكار؟

🐛 bug

التعليق الأكثر فائدة

لن نشحن أبدًا إصدارًا يمسح الإشارات المرجعية ، ولن أقبل ذلك. يجب أن تتضمن أي تغييرات من شأنها تدمير الإشارات المرجعية عمليات الترحيل ، حتى لو كانت يدوية.

مرسلة مع GitHawk

ال 14 كومينتر

ليس فقط لأننا أضفنا معلمة جديدة. حدثت إعادة التعيين لأنني قمت بتغيير المتجر لاستخدام NSMutableOrderedSet .

هذا يعطي نفس مشاكل التعامل مع DB / التهجيرات. 🤦‍♂️

مرسلة مع GitHawk

انتظر هل لا يمكن للشفرة أن تتعامل مع تغييرات الهيكل؟ لذا إذا أضفنا خاصية جديدة فسوف تفشل في إلغاء التسلسل؟

إذا كان هذا هو الحال ، فقد نعود أيضًا إلى NSCoding .

مرسلة مع GitHawk

بالضبط ، إذا قمت بالترقية ، فستحصل فقط على مجموعة من الأخطاء في وحدة التحكم تقول إنها لا تعرف ما هو الجحيم هذا الكائن وتفشل (وبالتالي إعادة التعيين)

إذا كان NSCoding يعالج الأمر بشكل أفضل ، فقد يكون الأمر يستحق التغيير 😞

Ya مع NSCoding ، لديك تحكم كامل وتجعل القيم الجديدة اختيارية ، أو توفر قيمة افتراضية في initWithCoding.

يجب أن نغير هذا قبل 1.12

مرسلة مع GitHawk

لذلك من الممكن القيام بذلك باستخدام Codable ، كما اقترحت أعلاه - ولكن المشكلة أنه لا توجد قيمة افتراضية يمكنك استخدامها وليس بها أخطاء. أقصد بالتأكيد أنه يمكنك مناقشة "حالة الحافة" ولكننا نحتاج حقًا إلى نظام ترحيل يمكنه إجراء طلب وتحديث الإشارات المرجعية بمعلومات جديدة 🤔

Sherlouk شيء مثل سبارك "ترقية قاعدة البيانات" يتبادر إلى الذهن

مرسلة مع GitHawk

بهذا المعنى لدينا بالفعل أخطاء. ماذا يحدث عندما يغير الريبو فرعه الافتراضي؟

يبدو أننا بحاجة إلى نظام لتحديث العناصر عند زيارتها.

مرسلة مع GitHawk

بمعنى الإشارات ، صحيح جدا. القضايا / البحث / إلخ كلها مراجع محدثة للمستودع لذا ستكون معلوماتهم صحيحة.

تحتاج الإشارات المرجعية وعمليات البحث الأخيرة إلى طريقة لتحميل مستودع من المالك / الاسم فقط لجلب المعلومات الأخرى قبل الدخول

هيك إذا فعلنا ذلك ، فيمكننا البدء في عرض عدد النجوم على المستودعات والتسميات على المشكلات. يمكن أن يبقي الأمر بسيطًا ويتم التحديث فقط عند إدخال الشيء (مقابل بعض خدمات المزامنة).

ملاحظة جانبية ، لا يمكنك الاستعلام عن عدة مستودعات في طلب gql واحد ، أليس كذلك؟ إذن مثل طلب واحد لـ 4 مستودعات بالاسم؟

مرسلة مع GitHawk

ليس بقدر ما أدرك ، أعتقد أنه 1: 1. النجوم ، والتسميات ، وتنفيذ المعلومات 🤔🤔

مرسلة مع GitHawk

أفكار حول ما يجب القيام به هنا؟ أود أن يقدم 1.12 هذا الأسبوع. لست قلقًا للغاية بشأن هذا الصراف الآلي ، سأحتاج فقط إلى التفكير في خطة الهجرة.

يبدو أنه على المدى الطويل ، نحتاج فقط إلى آلية تحديث ، لكن لن يكون من الصعب جدًا إضافة ذلك.

ربما نحتاج فقط إلى إعادة بناء الإشارات المرجعية قليلاً حتى نتمكن من إجراء عمليات بحث O (1) بناءً على المعرف وتحديث الكائنات؟

أنا شخصياً مهتم للغاية بإصدار إشارات مرجعية بدون خطة لهذا الأمر كما لو أننا لم نتعامل معها ، فسنستمر في مسح إشارات المستخدمين!

مرسلة مع GitHawk

لن نشحن أبدًا إصدارًا يمسح الإشارات المرجعية ، ولن أقبل ذلك. يجب أن تتضمن أي تغييرات من شأنها تدمير الإشارات المرجعية عمليات الترحيل ، حتى لو كانت يدوية.

مرسلة مع GitHawk

إغلاق هذا كما أعتقد أن لدينا هذا تحت السيطرة الآن. يجب عليك بالتأكيد التحقق من ذلك لكل إصدار جديد - أو إيجاد طريقة لأتمتة ذلك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

rnystrom picture rnystrom  ·  3تعليقات

BasThomas picture BasThomas  ·  3تعليقات

rnystrom picture rnystrom  ·  3تعليقات

rnystrom picture rnystrom  ·  3تعليقات

rnystrom picture rnystrom  ·  3تعليقات