مرحبا،
أقدر فيكم روح المبادرة و النشاط لبدء العمل.
لا يسعني تجربة الكود لأن نسخة الدلفي التي أستخدمها الآن هي رقم 6.
بعض النقاط أود سردها (بدون ترتيب):
1- يجب مداومة تنقيح التوليف = الكود و تنظيفه، خاصة و نحن في بداية المشروع ، من ذلك:
إزالة الأكواد الميتة التي ليس لها استخدام.
إزالة الإشارات لملفات INDY من الفورم الرئيسية (uses)
تسمية المتحكمات التي لم تسمى بعد، مثل عناصر لائحة الأوامر، و الفورم الرئيسية.
عند التسمية حبذا (كلما أمكن ذلك) استخدام الأساليب النمطية المتعارف في مجتمع دلفي.
كود :
http://www.econos.de/delphi/cs.html#Components_Instance
http://edn.embarcadero.com/article/10280
http://jcl.delphi-jedi.org/documents/styleguide.html
http://edn.embarcadero.com/article/27983
2- مسار قاعدة البيانات يمكن حفظه في ملف نصي خارجي. (ini أو xml)
3- ملاحظة امكانية وجود ملفات كود مشتركة بين امشروعي السيرفر و الكلاينت.
4- لا ننسى إنهاء الكينونات التي يتم إنشاؤها بالأمر Create.
5- خلق الكينونات قبل إستخدامها : مثلا DISQLite3Database1 لا يوجد ما يشير إلى إنشائها.
6- تحاشي المخاطر مبكرا:
هل تم تجربة الاتصال الفعلي بين السيرفر و أكثر من محطة و تبادل البيانات بينها.
هذه التجارب تكون في بدايات المشروع؟ للتأكد من سيطرتنا على التقنية وقدرتها على تلبية ما نحتاجه،
وكذلك لترسم لنا خريطة مسبقة لكيفية تنظيم الاجرائيات في ملفات البرنامج.
يعني يجب أن نقوم منذ الآن بتجربة و تنفيذ الحالات الرئيسية في البرنامج: طلب الاتصال من الكلاينت،
تأكيد الاتصال من السيرفر، تأكيد تبادل البيانات بين كلاينت و آخر مباشرة أو عبر السيرفر، خروج الكلاينت
من خدمة السيرفر.
نفس الأمر فيما يخص قواعد البيانات، يتم تجربة الحالات التي نحتاجها مسبقا، حتى نكون متأكدين من أن التقنية
التي اخترناها ستلبي احتياجاتنا، و نتأكد أيضا من سيطرتنا عليها، و التقليل من المفاجآت غير المتوقعة .
يعني أن النقاط التي تكون حيوية وقد تشكل عناصر مخاطرة نهاجمها هي أولا.
7- بالنسبة لعزل مكونات البرنامج حسب مسؤوليتها و بناء المشروع على شكل طبقات Layers :
تخيل أننا نريد الآن في مشروعنا هذا أن تستخدم ثلاث أنواع من تقنيات التعامل مع الشبكات والاتصال،
بحيث تكون خيارا متاحا لمشغل البرنامج: الخيار الأول استخدام مكونات INDY ، و الخيار الثاني استخدام
مكونات DirectX و الخيار الثالث استخدام مكونات Internet التي تأتي مع دلفي.
بالتأكيد، سوف تعيد حساباتنا و نعيد تنظيم الكود بحيث تضمن إتاحة هذه الخيارات الثلاثة ، و سوف نجد
أنفسنا تلقائيا مضطرين لتقسيم برنامجنا إلى مناطق أو ملفات معزولة كل حسب تخصصها.
بالتوفيق.