يتم ترجمة هذا الموقع تلقائيًا إلى عدة لغات باستخدام برنامج طوّره كوهِي كوياناغي. للاطلاع على المحتوى الأدق، يرجى الرجوع إلى النسخة الأصلية باللغة الإنجليزية .

Splync v1.9 يتيح تخصيص نسبة المشاركة لكل نفقة

تعليقات المستخدمين حول Splync

بعد حوالي شهر ونصف من إصدار Splync v1.5، الذي سمح أخيراً بتخصيص نسب التقسيم لكل مشروع وفئة، وصلت موجة جديدة من التعليقات. تطلب تحديث v1.5 تغييرات كبيرة في النظام الخادم، لذا كنت أعتقد حينها أن الدقة كانت "كافية" لمعظم الاستخدامات. ثم سأل بعض المستخدمين الجدد سؤالاً بسيطاً ومعقولاً للغاية: "هل يمكننا تحديد نسب مشاركة مخصصة لكل نفقة فردية؟" كان لديهم مشروع رحلة حيث احتاج اثنان فقط من الأعضاء إلى تقسيم تكلفة معينة، وفي لحظات أخرى أراد الثلاثة مشاركة شيء. في Splync v1.8، كان الجواب للأسف لا. شرحت لهم أنهم يمكنهم إنشاء فئات إضافية بنسب مخصصة لتلك الحالات المحددة - حلاً مؤقتاً وليس حلاً حقيقياً.

غابة الكسور بدت مرهقة

كان من المرهق قليلاً تذكر كمية العمل التي دخلت في إصدار v1.5. أولاً، كان عليَ أن أتيح للمشروعات نسب تقسيم خاصة بها. ثم احتاجت الفئات أيضاً إلى نسب مخصصة. في تلك اللحظة اعتقدت أنني قد غطيت الشجرة بأكملها - أخذت كل ثمرة من كل فرع. لكن العمل على النسب لكل نفقة كان مختلفاً. شعرت كما لو أنه مع كل ثمرة أقطفها، تنبت شجرة جديدة من نفس النقطة. ليست غابة كسورية لا نهائية، ولكن هيكل واضح من طابقين: طبقة تولد الأخرى. في منطق v1.5، كانت النفقات ترث نسبة المشروع أولاً. وإذا كانت الفئة تحتوي على نسب مخصصة، فإنها ستقوم بتجاوز قيم المشروع. لذا عند إضافة النسب لكل نفقة، وجدت نفسي أحاول إضافة تجاوز آخر فوق ذلك التجاوز. أصبح الهيكل مثل سلم من التجاوزات - صحيح تقنياً، لكنه فوضوي ذهنياً. كان من الصعب تبرير بناء طبقة أخرى من المنطق المفكك.

تغييرات في Splync v1.9

جاءت الانطلاقة من قلب الهيكل رأساً على عقب. بدلاً من اتباع "المشروع → الفئة → النفقة" وتجاوز كل طبقة بالأخرى، لماذا لا نفكر في الاتجاه المعاكس؟ المشاركة لكل نفقة → المشاركة لكل فئة → المشاركة لكل مشروع. هذا الترتيب يعكس تفكير الناس الحقيقي: إذا كانت نفقة محددة لها قواعدها الخاصة، فعليها اتباعها ببساطة. إذا لم يكن الأمر كذلك، فإن نمط الفئة يكون منطقياً. وإذا فشل ذلك أيضاً، فارجع إلى افتراضي المشروع. لا مزيد من سلم التجاوزات - فقط تسلسل هرمي نقي للأولوية. بمجرد أن رأيت الهيكل بهذه الطريقة، اختفت ضباب الغابة الكسورية الوهمية على الفور. أصبح مسار التنفيذ واضحاً: "يتم التحقق من كل نفقة بحثاً عن نسب مخصصة لكل نفقة. إذا كانت موجودة، يتم استخدامها. إذا لم تكن، يتم التحقق من نسب الفئة. إذا لم تكن، استخدم افتراضي المشروع."

المشي تحت السماء

شعرت المنطق الجديد بالبساطة والتنبؤ والدقة الرياضية. لدعم هذا النظام ذو الأولوية، أضفنا جدولاً مخصصاً في MariaDB للانقسامات لكل نفقة، يشبه جدول الانقسامات لكل فئة. كانت تحتاج أيضاً إلى توسيع جدول تفاصيل النفقات، تماماً كما حدث في جدول تفاصيل الفئات في v1.5. بمجرد أن أصبح التصميم "ذو الطابقين" واضحاً، كان الباقي مجرد برمجة دقيقة - في التطبيق وعلى الخادم. ومع ذلك، كان المسار يبدو محفوفاً بالمخاطر في بعض الأماكن، مثل المشي عبر غابة مظلمة بدون خريطة. أردت أن أصفّي ذهني وخرجت. كان الهواء حاداً ونقياً. بينما كنت أمشي في حيّي، رأيت جبل فوجي يرتفع في الأفق، أزرق بوضوح تحت سماء زرقاء تماماً. كان على بعد حوالي 100 كم، لكنه بدا قريباً بما يكفي للمس. شعرت اللحظة وكأنها تذكير: حتى لو كنت أعتقد أنني أمشي في غابة، فإنني في الواقع أمشي تحت السماء المفتوحة.

ما يمكنك فعله مع Splync v1.9 - تقسيم مخصص لكل نفقة

وُلِد Splync v1.9 من تلك اللحظة من الوضوح. عدت إلى المنزل، أكملت إعداد نقاط النهاية الجديدة، أعددت منطق الخادم الجديد، نظمت الواجهات المتعلقة، قدمت v1.9 إلى Apple، وأخيراً نمت. انتهى المراجعة في وقت أبكر من المعتاد. عندما استيقظت، كان Splync v1.9 قد تمت الموافقة عليه بالفعل وتم إصداره تلقائياً على App Store. من هذا الإصدار فصاعداً، يصبح التقسيم أكثر مرونة بكثير. إذا كنت تسافر مع جون وكيت، يمكنك مشاركة النفقات الأساسية بالتساوي بين الثلاثة. ولكن للطعام، قد تتحول إلى تقسيم "25% : 50% : 25%" لأن جون عادة ما يأكل ضعف الكمية. وإذا تخلى جون عن عشاء واحد - لنقل في مطعم المحار - يمكنك ضبط تلك الوجبة المحددة على "50% : 0% : 50%" حتى لا يدفع مقابل ما لم يأكله. مع v1.9، يدعم Splync الآن نسب لكل مشروع، ولكل فئة، ولكل نفقة في منطق موحد. الأسس مستقرة ودقيقة رياضياً. التحدي التالي هو الواجهة: بعض التطبيقات الأخرى لتقسيم النفقات تقدم طرقاً أكثر سلاسة وأناقة لضبط هذه النسب. لدى Splync الآن القوة الخلفية لدعم مثل هذه التحسينات. سنعمل عليها واحدة تلو الأخرى.