-
النظام .... فن
السلام عليكم ..
( هذا اول مقال لى .... ارجو ان يكون غير متكلف ومفيد ... )
سأتحدث عن اهم مصطلح فى حياتنا .. وهو النظام وليس بشكل عام ولكن فى إطار بناء التطبيقات البرمجية .
النظام : هو كل شئ , فكل ما يحدث حولنا يحدث لأسباب ويترتب عليه نتائج تكون اسباب لأحداث اخرى , كل هذا ضمن قواعد واسس بعضها لا يمكن اختراقه .
وداخل كل نظام انظمة اخرى .. وافضل مثال على ما تم ذكره إلى الأن هو ” الحياة ” .. انها اكبر نظام نستخدمه او ربما افضل ان اقول تستخدمنا . فقط خلقنا لسبب ووضعنا فى شكل معين وبقدرات محدودة وفهم له حدود لنقوم بأدوار متكاملة ومتناسقة . فى هذا النظام كما قلت هناك الأحداث والصلاحيات والإختلافات بين افراده وقواعده ايضا .. فلا يستطيع المرأ ان يطير … لأنه لم يقدر له ان يفعل ذلك وليس بيده شئ ليفعل ويعيد كتابة صلاحياته وقدارته بنفسه .
نفس الحال مع الأنظمة البرمجية , فالمبدأ واحد وسمات الأنظمة المحتلفة إلى حد ما متشابهة . وكمثال على ذلك , نظام التشغيل … يتكون من ادوات اساسية واخرى فرعية واخرى مساعدة ,…. وجميعا تستخدم بشكل متعدد ومختلف . لتكون انت مستخدم النظام ولك صلاحيات وادوات معينة لتستخدمها والهدف من وراء ذلك هو إستخدام الحاسب الآلى لانه …….. .
فأنت عندما تبدأ بعمل تطبيق ( ليكن تطبيق ويب ) , سيكون له هدف وقدرات ومميزات وخيارات محدودة وغالبا سيكون له نظام مشابه وموجود بالفعل ولكن يختلف عنه فى المميزات والخيارات ,…. .
حسنا يبدو كل هذا مفهوما وواضحا , ما الجديد … ؟
ربما يبدو لك الأمر واضح ومنطقى وطبيعى جدا ولكن هناك من يتعامل مع النظام على انه كتلة من الأكواد … الأمر ليس كذلك انه مثل عمل فنى .. يجب عليك ان تتأمل وتفكر وتختار وتنسق لكل شئ وتتأكد من كل شئ , يجب عليك ان تطبق مبادئ النظام الصحيحة … ان تتعامل مع هذا النظام بشكل واعى و منطقى .
تخيل انك الأن تريد إنشاء نظام لإدارة معلومات عملاءك … .. فور ان تقول ” انا اريد ان اقوم بعمل نظام لإدارة عملائى ” … ربما يكون اول ما تفكر به هو ” …….. ” لا شئ , لا يأتى على بالك اى شئ مطلقا … وربما تجد صور لهذا النظام تتداعى على عقلك وتجد نفسك تفكر فى المميزات وقوالب العرض . وتجد نفسك فتحت محرر الكود وبدأت تكتب …. توقف … ليس بهذا الشكل … سيكون الفشل هو النتيجة المحتومة .
عليك اولا ان تفكر وتتأمل فى هذا النظام وتراه من اكثر من بعد … عليك ان تسأل الكثير من الأسئلة والتى تكون اساسا مختبأة بعقلك وانت لا تريد ان تجيب عليها .
- هل هذا النظام لى انا وحدة ؟
- هل سيكون من الممكن ان اعطيه لأحد ليستخدمه غيرى ؟
- هل سأتيحه للإستخدام العام ؟
- هل سيكون مجانى ام مدفوع ؟
- هل هناك برامج مماثلة ؟
- ما الجديد الذى سأقدمه ؟
- هل سيكون بسيط ام كافى ام متقدم ؟
- هل على ان اعمل به انا فقط , ام احتاج لفريق ؟
- هل الفكرة جديدة ؟
- هل انوى ان استخدم اساليب جديدة ام سأجارى المتبع ؟
- هل انوى ان استخدم اطر عمل موجودة ام ابنى واحد خاص بى ؟
- هل تنوى تطويره لاحقا … ام لا … ام انك غير متأكد او لا تضمن ذلك ؟
عشرات الأسئلة لابد ان تجيب عليها جميعا … وتضع ما يمكنك ان تسميه إطار عملك البرمجى .
خطط جيدا لأقسام النظام … وعلاقتها ببعضها … والأدوات التى ستعتمد عليها …
لا تتحمس من البداية بشكل اكبر من المفروض ولا تقلل من إهتمامك خصوصا لو كانت فكرة جديدة … فكر فى كل شئ وسأل من حولك واجمع الآراء .
حسنا …. يبدو ان الأمور تتداخل , سأضع بالأسفل بعض المفاهيم وربما العلاقات لبعض اشكال الأنظمة .
نظام برمجى : بناء له وظيفة عامة وقواعد تتعامل مع حالة او معطيات لإخراج نتائج او تحقيق عملية معينة .
اسس الأنظمة :
- المنطقية البنائية
- الأقسام والوحدات.
- المسميات
- كل شئ داخل النظام هو ” أداه “
- الترابط بين الأدورات والإستخدام الذاتى .
- حدود الإستخدام .
- المميزات و الإمكانات .
وبشكل عام : فكرة واضحة + تخطيط وتنظيم + تنفيذ متقن + سهولة فى الإستخدام + تعددية الخيارات = نظام فعال وربما ناجح .
واخيرا احب ان اقول , ان كل ما تحدثت عنه لم أأخذه من كتاب او قرأت عنه بمكان ما ولكنه مستنتج ومنطقى … لأنى اريد من كل مطور او مبرمج ان يفكر بجدية فى ما يفعله و ان يتعامل مع عمله على انه نوع من انواع الفن , ان يفكر جيدا وينظم افكاره . فإما ان تضع القواعد او تستخدمها … واعلم ان الأمر الأن ليس كما كان فى البداية … فقد إنتهى عصر المقاييس والأن هو عصر التطوير والتحديث ..
ابحث عن ما يحتاجه من حولك ونفذه فى افضل شكل يناسبهم وضعه امامهم .
تحياتى للجميع
-
موضوع وافكار جميلة اخوي احمد , اتفق معك تماما ان المشروع قبل ان يكون اكواد وتكنولوجيا يجب ان يكون تحفة فنية خالية قدر المستطاع من الشوائب , نفس المبدأ اعمل عليه في مشاريعي المختلفة , فانا بعد ان انهي العمل بشكل نهائي تقريبا , ادخل البرنامج واجربه من زاوية المستهلك وليس المبرمج , واحاول ان افكر بطريقة تفكير المستهلك لكي احاول قدر المستطاع استكشاف الاخطاء واصلاحها , ايضا انظر للمشروع كمبرمج وارى كم هو جميل هذا العمل , بعد عمل وكد طويلين حيث يصبح حالة من التعزيز الايجابي للنفس عند الشعور بالرضى عن المشروع او العمل , وبالتالي الدفعة المعنوية الذاتية حتى بدون اطرائات ومديح الاخرين , وفي الحقيقة ما يجعلني اتقدم في هذا المجال هو نفسي حيث اشجعها باستمرار واكافئها عند كل نجاح .
جميل هو النقاش فيما ابدعت اخي , اتمنى ان ارى المزيد من كتاباتك في هذا المجال .
تقبل تحياتي , اخوك ابن قانا .
الى الامام عزيزي .
-
مشكور .... عل الكثيرين من زوار هذا القسم ان يفهموا هذه الكلمات جيدا ... من اجل الصالح العام للمطورين
-
بعد النظام وجدت الكود من زاوية مختلفه ... كنت فى السابق أضع كل ملفات البرمجية فى مجلد واحد تجنباً لتغيير مسار الإنكلود لكل منهم
ولكن تعبت شوية و بعدها إرتحت جداً فى التطوير على برمجياتى
شكراً على موضوعك الجميل
-
العفو , ....
انا اعتبر ان من اهم الأمور التى يجب ان نهتم بها ونراعيها هى " المسميات " , حتى فى ابسط الأشياء مثل المتغيرات , فأنا افضل ان اكتبها بهذا الشكل postsNeedsTobeApproved$ افضل من ان اكتب posts$ فقط ( اقصد فى حالة " المواضيع التى تحتاج للموافقة " .
الشئ الأخر , هو التنظيم بشكل عام فى بنية المجلدات والملفات والتى يكون دائما من الأفضل وضع prefix لها , مثال : class.HTML.php او sys.configuration.php او tpl.nav.html , .....
هذا ما اؤمن به ولا استبدله ابدا , ... ولا اعتقد ان الجميع يتفق معى , هناك من يفضل " الإنجاز " , ... 
تيحاتى للجميع وانتظر مداخلات باقى الأعضاء
ضوابط المشاركة
- لا تستطيع إضافة مواضيع جديدة
- لا تستطيع الرد على المواضيع
- لا تستطيع إرفاق ملفات
- لا تستطيع تعديل مشاركاتك
-
قوانين المنتدى
أضف موقعك هنا |
اضافة محتوى فريد لموقعك