السلام عليكم في البداية أحب أن أنوه إلى أنه قد تم إيقاف طريقة التعديل هذه في المشروع الحالي ليس لعدم فعاليتها لكن لأنها تأخذ وقت وجهد أنا لا أستعطيع أن أستحمله حالياً ربما أعود للعمل عليها في نفس المشروع أو في مشاريع أخرى كما أحب أن أنوه إلى أن الخوارزمية غير مكتملة أي اقتراحات للتعديل أو الحذف أو الإضافة كما أنها غير حكر على مشاريعي بإمكانك استخدامها في أي مشروع خاص بك وإعادة نشرها وتوزيعها والتعديل عليها خوارزمية توثيق التعديلات لا تقم بحذف أي جزء من المشروع مباشرة وإنما في الإصدارة التي يتم فيها التعديل قم بإيقاف فاعلية comment الأجزاء المعدلة وضع تعليقات على المقاطع التي تم التعديل عليها تبين أنه تم تعديلها شكل التعليق سيكون كالتالي: [code] //modefied i vSomeVersion by SomeOne [/code] بالنسبة vSomeVersion فهي تمثل الإصدارة التي حصل فيها التعديل بالنسبة للرقم i فهو يمثل ترتيب التعديل وهذا يجعل عملية التوثيق مرنة بعض الشي بالنسبة SomeOne هو الشخص الذي أجرى التعديل في الإصدارة التي تليها سنحذف جميع التعليقات حتى لا تتراكم التعليقات وتجعل شكل الشيفرة سيئاً كيفية توثيق التعديلات: 1- العنوان يكون تعديل رقم س حيث س رقم التعديل 2- العنوان سبب التعديل يلي ذلك السبب الذي تم من أجله التعديل إوتنقسم الأسباب إلى: أ- مشكلة ب- تحسين الشيفرة ج- تحسين المنظر العام 3- وهي خطوة تعتمد على سبب التعديل إن كان السبب مشكلة فسيكون العنوان المشكلة وإلا تتجاهل هذه الخطوة 4- العنوان الإجراء المتخذ تحت هذا العنوان نذكر ماهية التعديل الحاصل مثال على كلامي السابق التعديلات في الإصدارة v.1beta2 تعديل رقم 1: سبب التعديل: مشكلة المشكلة: الدالة addColumn كانت عند إضافة عمود جديد تتأكد من أن السلسلة الخاصة بأسماء الأعمدة ليس فيها عناصر أكثر من السلسلة الخاصة بقيم الأعمدة أو العكس في كلا الحالتين كانت تحذف عنصر من السلسلة الأكثر عناصراً بالطبع يوجد مشكلة في ذلك حيث ربما يتواجد لدينا أكثر من عنصر في سلسلة الأسماء أو في سلسلة القيم كما أني وجدت أن عملية الحذف بالنسبة للقيم ليست جيدة ربما هناك من يريد قيمة بدون اسم الإجراء المتخذ: عدلتها لكي تقوم بالتالي إذا كان عدد العناصر في سلسلة أسماء الأعمدة أكثر من القيم فستقوم الدالة بحذف العناصر الزائدة من سلسلة الأسماء أما إذا كانت سلسلة قيم الأعمدة تحتوي على عناصر أكثر فسأقوم بإضافة عناصر تحتوي على جملة خالية empty string تعديل رقم 2: سبب التعديل: تحسين الشيفرة الإجراء المتخذ: قمت بفصل عملية حساب أكبر قيمة في سلسلة القيم المعطاة عن عملية الرسم الأحداث المترتبة عل ترتب على ذلك إضافة الدالة evaluateMaxColumn تعديل رقم 3: سبب التعديل: تحسين المنظر العام الإجراء المتخذ: تحسين الألوان بالنسبة للرسم الدائري قمت بتغيير تدرجات الألوان إلى تدرجات جيدة ترتب على هذا إضافة الثوابت BLUE RED GREEN التعديل رقم 4: سبب التعديل: تحسين الشيفرة الإجراء المتخذ: قمت بحذف الجملتين [code] th.setDaemon(true); System.out.println(th.isDaemon()); [/code] من فئة ChartTest لا أعلم سبب وجودهما لكن على ما يبدو أني كنت أجرب شيئاً ما مثال على الطريقة حذفت مجموعة جمل في الإصدارة v.1beta2 ورقم الحذف 4 واسمي علاء الصالحي [code] //modefied 4 v.1beta2 by Alaa AL-Salhi //th.setDaemon(true); //System.out.println(th.isDaemon()); //end modefied 1 v.1beta2 by Alaa [/code] أتمنى أن يكون لديكم أراء بالطبع الطريقة تحتاج إلى الاحتكاك معها في مشاريع كبيرة ليتبين مدى فاعليتها تحياتي