كيف تحسن مستواك البرمجي
November 19, 2008 - الأربعاء 21 ذو القعدة 1429 التصنيف: برمجة
بسم الله الرحمن الرحيم،
مجموعة نصائح قيمة لتحسين مستواك البرمجي وبالتالي تحسين إنتاجيتك. في البداية سرد لما يجب أن يكون عليه برنامجك أو ملفاتك المصدرية وبعدها شرح لكيفية الوصول لهذا المستوى.
- البساطة
- النتائج الصحيحة
- المتانة أو الثباتية (scalability)
- قابلية التوسع والتطوير
- اكتب ابسط حل تتوصل إليه، عندما يكون لديك عدة حلول لمشكلة ما فاختر الحل الأبسط حتى ولو كان أطول من الحل المعقد. لأن الحل الأبسط أسهل عند برمجته وأسهل عندما تطور عليه في المستقبل، أيضاً فهمه أسهل على غيرك من المطورين الذين سيتابعون عملك في المستقبل.
- الذكاء، أي أن يكون حلك ذكياً بحيث تقلل من حدوث الأخطاء قدر الإمكان. حاول أن تجد حلاً ذكياً يشمل كل الحالات الممكنة فالحل البسيط لا يعني الغبي! والحل المعقد لا يعني الذكي. الأفضل هو الحل البسيط الذكي.
- إزالة العلاقات المتشابكة قدر الإمكان بين الملفات، حاول قدر الإمكان أن تجعل كل صنف أو تابع مستقل بحد ذاته عن غيره، مهمة جداً في حالة التوسع بالمشروع، فالأصناف المستقلة لن تتأثر بالتوسع أما المتشابكة فيما بينها فتغيير سطر واحد في ملف واحد يؤدي إلى أخطاء بالجملة، حدثت معي كثيراً والآن عندما أرى هذا النوع من البرمجة أقوم على الفور بتغيير البنية كلها حتى ولو اضطررت للبدء من جديد، فالبدء من جديد على أساسات متينة أفضل من البقاء على أساسات مخلخلة ستسقط لا محالة، لكن السؤال هو متى ستسقط.
- الاختبار، الاختبار جزء مهم من عملية التطوير، استعمل لهذا التجريب اليدوي والتجريب البرمجي (unit testing).
- الأمان مهم جداً في تطبيقات الويب وأهم نصيحة هي: لاتثق بأي متحول عام، عنوان (URL) أو طلب من المستخدم وافحص كل شيء.
- وضع خطة للحالات الطارئة، افترض أن المخدم تعطل أو تعرض الموقع لهجوم لا سمح الله، كل هذا ممكن أن يحدث وغالباً مايحدث ولكن السؤال هو هل أعددت خطة للطوارىء؟ هل ستقفل الموقع؟ هل ستوقف الحسابات؟ هل هل …؟؟ الأفضل أن تضع هذه الخطة الآن قبل أن يحدث مالا يحمد عقباه، فعند وقوع المصيبة يتشوش التفكير.
- الثباتية هي مواجهة المشروع لظروف قاسية، مثل عدد الطلبات الكبير، زيادة المخدمات. أهم النصائح هي: استقلالية البنى عن بعضها كما ذكرت وقياس الأداء عند كل تغيير أو تطوير.
- فعل إظهاء الأخطاء والتحذيرات أثناء التطوير، وألغي تفعليها عند تشغيل الموقع أو تسليم المشروع.
- اتبع المعايير المشهورة في كتابة الشيفرة المصدرية: كل لغة لها معاييرها، تعرف على هذه المعايير وتقيد بها فهي خبرة كبار المبرمجين، تبسط عليك عملك وعلى غيرك ممن سيطور على عملك لاحقاً.
















رائعة استاذ خالد
بانتظارىالمزيد بارك الله لك في وقتك
شكراً
@بسام: أهلاً بك أخي بسام بارك الله فيك فأنت الأستاذ.
@عمر: كيف الجامعة؟ لم تعد تراسلني!
شكرا جزيلا،
تعلمنا هذه الدروس بالطريقة الصعبة و هي برؤية النتائج المزعجة عند عدم اتباع هذه النصائح
اتمنى من قراء هذه المدونة ان يستفيدوا من هذه النصائح كونها ستوفر عليهم الكثير من ساعات الضغط النفسي
شكرا كتير خالد
انت الاستاذ و لست انا
انا خبرتي بسيطة مجرد كنت عم قول راي الشخصي حول المقالة
على عكس حضرتك فانت قاطع شوط اكبر بكتير من في PHP
شكرا كتير
موضوع رائع , لكن كيف يمكننى معرفة معايير اللغة التى تحدثت عنها فى اخر نقطة
مثلا ال php ما معايره
سؤال جيد، الكلمة المفتاحية لهذا هي “conventions” لذلك إذا أردت مثلاً البحث عن معايير C# اكتب في غوغل التالي:
C# conventions
مشكووور على النصائح الجميلة
أشكرك أستاذ خالد
فعلاً مقال قيم
تعلمت هذا بعد وقعي بالمشكله (كتابة الكود بطريقه السهله)
أما العلاقات المتشابكة فأني أواجها بسبب المشاريع القائمة من قبل
أحاول أعادة هيكلتها هذه الأيام
فعلاً نصائح قيمة
شكراً لك، بالنسبة للمشاريع القائمة فعلاً شيء مزعج وتحتاج لوقت كي تبسط ويعاد ترتيبها بالشكل الصحيح.
مقال رائع أخى الكريم و المدونة ما شاء الله تحفة
تسلم الأيادى ،
أخوك بسادة من مصر
أهلاً بك أخي بسادة