بسم الله الرحمن الرحيم ..
اخوتي الأعزاء .. السلام عليكم ورحمة الله وبركاته
دائماً يحن قلبي لهذا القسم واسأل نفسي .. ماذا سأقدم لأعضاء وزوار سوالف اليوم .. واعود ادراجي نظراً لانه لم يكن هناك ما اعتبره "مهم" لأعضاء وزوار سوالف ..
سأحكي لكم قصتي بإختصار ...
طلب مني احد الاخوة مشروع برمجة موقع كامل .. نظراً لطريقة برمجتي ( السابقة ) .. كان الأمر بالنسبة لي اشبه بتحدي لنفسي .. وفي نفس الوقت .. لقد تورطت !
فقد أعطاني تفاصيل المشروع وفوجئت بأن العمل ضخم ... قبل ذلك بعدة ايام ... كنت قد تعرفت على التحفة الفنية .. Codeigniter .. وألهمني هذا الـFramework إلهاماً شديدة .. وكنت اريد اي فكرة لأقوم بتنفيذها عن طريق منصة العمل هذه ( Codeigniter ) .. ولكن لم اتوقع ان تكون اول تجربة لي بهذا الحجم الكبير ...
طريقتي السابقة في البرمجة .. استطيع بكل صراحة ان اقول ... بــــــدائية ... بسبب :
- دمج أكواد php و html في نفس الملف !!
من أبشع الأخطاء التي قمت بها في برمجياتي ... وانا متأكد انه هناك بعض الاخوة ايضاً يقوم بنفس الموضوع .. لسهولة كتابة الكود .. ولكن الكثير ايضاً لا يعلم انه عندما تحتاج ان تعود وتفحص اكوادك مرة اخرى لإضافة نقطة معينة او تعديلها .. ستنـــــــــــدم وتتمنى انك لم تتعرف على هذه اللغة ... بل من الممكن ان تشك ان هذا الملف تمت برمجته بلغة PHP اصلاً .. ( قد تكون مبالغة بعض الشيء )- لا استخدم الـ Comments بين الأكواد ابداً
كنت اعتبرهاً مضيعة للوقت وبدون فائدة ... تقريباً الأضرار نفسها في النقطة السابقة .. بل وأكثر من ذلك- أقوم بكتابة نفس الأكواد مراراً وتكراراً
أوامر الـmysql .. كنت استخدم تقريباً نفس الاكواد بالضبط لكن مع تعديلات بسيطة جدا جدا جدا ...- كانت لدي عقدة فقط عند سماع اسم Framework او كلمة منصة عمل
- بسبب انه تقريباً كلما حاولت الدخول لهذا العالم .. وجدت ان الـ Example او المثال الذي يضعه الموقع الخاص بمنصة العمل هذه .. هو مثال سيء بمعـــــنى الكلمة .. فيأتيني الشعور بأن طريقتي الحالية هي الأصح ولا يوجد اي طريقة اخرى افضل منها ...
- كذلك دليل الإستخدام ( User Guide ) دائماً ما يكون اشبه بمتاهة وتحتاج ان تنظر إليها من الأعلى اولاً لتعبرها ... ( يجب ان تكون اساساً محتــــــرف في الـ PHP لتستخدمها )- كنت اعتبر التعامل مع الـOOP هو امر مستحيل تماماً
- استطيع ان اقول بأنه لم يقوم احد بتبسيط الأمور كما ينبغي ( حتى جاء الفارس المغوار .. اخي عبدالله عيد وطرح موضوعه الرائع )
- وأيضاً لأنه لم اعتقد بأنه هناك فائدة من استخدام الكلاسات ( Classes ) في برمجياتي
لا اريد ان اطيل عليكم ... ولكن ما علاقة هذا الكلام كله بـ Codeigniter ؟...
بعد دخولي رويداً رويداً إلى عالم Codeigniter .. وجدت ان الحياة اسهل بكثير مما تخيلت ...
الأمر ممتع !!! كتابة الأكواد اصبحت متعة بالنسبة لي .. أتلذذ عند إستخدام الكلاسات !! بل وأصبحت اتعامل مع نظام الـ MVC ( لم اكن على دراية كاملة به حتى دخلت عالم Codeigniter )
بل وبكل صراحة وصدق سأخبركم .. بانه في خلال شهر واحد فقط ... اصبحت اكتب الأكواد بسرعة خيالية ( حسب تقديري المتواضع البسيط وبالمقارنة بمستواي السابق ) وقمت بإجناز نسبة كبيرة جدا جدا من المشروع الذي كنت اعمل عليه ( الموقع ) في فترة قياسية جداً ... هنا انتبهت لعدة نقاط مهمة جدا جدا جدا ...
- إذا كنت لا تحب القراءة .. فمكانك ليس هنا
قد تبحث عن موضوع مهم جداً تريد التعرف عليه ( لنفترض .. الـ MVC ) فتجد امامك صفحة مليئة بالكلام الغير منسق الكـثيــــــــــــــــــر الـجـاف( اسلوب الطرح ليس جيداً ) ... فتقول لا .. شكراً .. لا اريد ...
ولكن مهلاً .... لا تستطيع ان تقول ان الشخص ظل لساعات يكتب ويشرح في هذه النقطة .. هو شخص أبله ! ولا يفقه شيئاً ! ولن تستفيد إطلاقاً منه.. بل الواجب والمفروض هو ان تتحمل الاسلوب وكثرة الكلام .. وتأخذ الموضوع رويداً رويداً .. ستجد ان بعض الأبواب تفتحت إليك ... ياه ! لم اكن ادري ان الموضوع بهذه السلاسة .. وفي النهاية ستخرج أنت بالفائدة التي كنت تبحث عنها ..
طبعاً انا من معــــــــــــــارضي الأسلوب السيء في الطرح .. قد تكون شخص ذو خبرة عظيمة .. قد تكون انت الملاذ ( بعد الله سبحانه وتعالى ) لشخص ضائع في نقطة معينة ... دائماً اكتب بطريقة مشوقة ... لتُكمل الطبخة- افتح عقلك للأفكار الجديدة والغريب منها:looking:
قد تبدو فكرة غريبة بعض الشيء .. قد تبدو خارج نطاق الأفكار!! ولكن دائماً تأكد ان كل فكرة .. يجب ان تمر ( كلياً ) على عقلك .. ثم بعدها قم بالحكم عليها ... عفواً ولكن لا تكن سطحياً !- بيئة العمل .. وما ادراك ما بيئة العمل
إذا كنت تعمل كـFreelancer ( عمل حر ) ستعرف ما اعنيه ... قد تأتي عليك بعض الأيام ولا تجنز فيها ولو سطر واحد فقط .. بسبب إنزعاجك من موضوع معين حدث ( خلاف مع شخص او ما شابه ) .. او بسبب الطقس .. او بسبب بعض الأحداث في العالم أجمع ...
هنا يجب عليك ان تحضر البيئة المناسبة تماماً للعمل ... غرفة العمل .. هي لك انت فقـــــط !! ممنوع الإقتراب ..
اذا كنت تعمل كموظف .. فبالتأكيد كل هذا لن ينفع فأنت مجبر على العمل ( غصباً عنك :1power: )
وإلا ....... انت مطرود !!! :anger1:
نقاط برمجية هامة جداً اتبعها :
- استخدم الـComments ( التعليقات ) بين كل سطر وسطر ..
- دائماً اجعل اكوادك نظيفة ومفهومة ( أسماء المتغيرات والـ Functions واستخدم لإبعاد الأسطر ... Tabs )
- استخدم Template Engine إذا كنت لا تعمل تحت منصة عمل معينة
- رتب مجلدات مشروعك
- الشفرة المصدرية ثم الشفرة المصدرية ( Source )
- برغم كرهي الشديد لهم .. ولكن .. احصل على الضوء الأخضر من W3C حتى تكتمل الصورة
- لا تستخدم منصات الـ JS إذا كنت لا تنوي إستخدامها كاملة
- ضع اكواد الـ CSS والـ JS في ملفات منفصلة دائما ..
- واخيراً وليس آخراً .. استخدم منصة عملCodeigniter
إلى الآن لم ادخل تماماً إلى كلامي عن منصة عمل Codeigniter ومميزاتها وعبقرية صانعيها ولكن أترك هذا الموضوع لكم إذا اردتم فعلاً التعرف عليها فسأخصص لها موضوع منفصل بإذن الواحد الأحد, مشروح جيداً بأمثلة ومقارنات ...
سبحانك اللهم وبحمدك .. اشهد ان لا إله إلا انت .. استغفرك وأتوب إليك ..
لكم ارقى التحية ...
اخوكم..
مصعب الزيني