<?xml version="1.0" encoding="windows-1256" ?>
                        <rss version="2.0">

                        <channel>
                            <title>الفوائد - جديد الوسم البرمجة</title>
                            <link>http://www.alfawaed.net/</link>
                            <description>خلاصة العلم والمعرفة</description>
                
                        <item>
                            <title>12 خطوة لبرامج أفضل</title>
                            <link>http://www.alfawaed.net/Summary/89/</link>
                            <description><![CDATA[<ul><li style="margin-top: 20px">استخدم نظاماً للتحكم بمصدر البرنامج وتبسيط عملية المشاركة بين أكثر من مبرمج.</li><li style="margin-top: 40px">استخدم نظاماً يقوم في خطوة واحدة بتجهيز البرنامج في شكله النهائي.</li><li style="margin-top: 40px">قم بإنشاء نظام يبني لك البرنامج بشكل صحيح يومياً، في حال حدوث خطأ ما يمكن تدارك الخطأ سريعاً.</li><li style="margin-top: 40px">استخدم قاعدة بيانات لحفظ وتوثيق الأخطاء والثغرات.</li><li style="margin-top: 40px">قم بتصحيح الأخطاء قبل كتابة أجزاء جديدة من البرنامج.</li><li style="margin-top: 40px">قم بإنشاء جدول زمني يوضح كم سيحتاج البرنامج لإنجازه.</li><li style="margin-top: 40px">أكتب قائمة المواصفات التي سيحويها البرنامج.</li><li style="margin-top: 40px">وفر بيئة عمل مناسبة للمبرمجين.</li><li style="margin-top: 40px">استخدم أفضل الأدوات التي يمكنك شراءها.</li><li style="margin-top: 40px">وظف أناساً يختبرون البرنامج.</li><li style="margin-top: 40px">اختبر قابلية الاستخدام للبرنامج.</li></ul>]]></description>
                            <author>نواف</author>
                            <category>تقنية</category>
                            <pubDate>18/2/2008</pubDate>
                        </item>
                    
                        <item>
                            <title>نصائح لبرمجة نظيفة</title>
                            <link>http://www.alfawaed.net/Summary/77/</link>
                            <description><![CDATA[<ul><li style="margin-top: 20px">استخدم أسلوب واضح ومنطقي في تسمية الكائنات (objects) والدوال (functions) والفئات (classes) والمتغيرات (variables).</li><li style="margin-top: 40px">علّق على الكود (code) سطر بسطر (أو اشرح كيف تنفذ العملية ككل بوضوح)</li><li style="margin-top: 40px">نسّق الكود باستخدام المسافات البادئة داخل الجمل الشرطية وغيرها بشكل يسهّل قراءتها.</li><li style="margin-top: 40px">نظّم الملفات في مجلدات بشكل منطقي ليسهل فهم اسم المجلد وملفاته.</li><li style="margin-top: 40px">اجعل الكود كوحدة برمجية (module) قابلة لإعادة الاستخدام قدر الإمكان, على سبيل المثال استخدم الدوال إذا كنت ترى أن بعض العمليات يتكرر استخدامها في عدة أماكن.</li></ul>]]></description>
                            <author>نواف</author>
                            <category>تقنية</category>
                            <pubDate>19/1/2008</pubDate>
                        </item>
                    
                        <item>
                            <title>التدرب على البرمجة</title>
                            <link>http://www.alfawaed.net/Summary/54/</link>
                            <description><![CDATA[<ul><li style="margin-top: 20px">أداء عملك كل يوم “كمبرمج” لا يعني أنك تتدرب وتكتسب خبرات جديدة.</li><li style="margin-top: 40px">يجب أن تخصص وقتاً للتدريب لتكتسب فيه خبرات وأفكاراً جديدة.</li><li style="margin-top: 40px">هناك مهندسون يتقنون عملهم بكفاءة عالية، مع ذلك يخصصون وقتاً للتدريب، التعليم لديهم عملية مستمرة.</li><li style="margin-top: 40px">في الغالب، إذا التحقت بوظيفة فلن يكون لديك وقت كافي للتدريب، عليك أن تعمل على أن تخصص وقتاً للتدريب وتتدرب يومياً إن استطعت.</li><li style="margin-top: 40px">إذا لم تتدرب ستفقد مهاراتك وسيتخطاك الآخرون ولن تجد وظيفة، لا يهم إن كان لديك 20 عاماً من الخبرة وأنت لا تعرف كيف تستغل التقنيات الحديثة المنتشرة.</li><li style="margin-top: 40px">معظم الخبرات التقنية لها وقت محدود ثم تصبح غير نافعة ولذلك عليك أن تتعلم وتتدرب باستمرار.</li><li style="margin-top: 40px">أقرأ عن نظريات الحاسوب والبرمجة وعلماء الحاسوب.</li><li style="margin-top: 40px">إقرأ برامج الآخرين.</li><li style="margin-top: 40px">أكتب قائمة بعشر أدوات للبرمجة تشعر بأنها ضرورية ولا يمكنك الاستغناء عنها، إقرأ أي وثائق أو مقالات حول الأدوات وتعلم خصائصها الجديد.</li></ul>]]></description>
                            <author>نواف</author>
                            <category>تقنية</category>
                            <pubDate>27/11/2007</pubDate>
                        </item>
                    
                        <item>
                            <title>نصائح لتطوير مهاراتك البرمجية</title>
                            <link>http://www.alfawaed.net/Summary/53/</link>
                            <description><![CDATA[<ul><li style="margin-top: 20px">اكتب برنامجاً</li><ul><li style="margin-top: 20px; list-style-type: square">إذا كنت تحاول تعلم لغة برمجة جديدة, واحدة من أفضل الطرق التي تحسن من مهارتك في هذه اللغة هي البداية في كتابة برنامج.</li><li style="margin-top: 20px; list-style-type: square">تسطيع أن تتعلم التركيب النحوي (syntax) والنظريات البرمجية والدروس وغيرها لكن عليك أن تُحرك يديك لتطبيق ما تعلمته.</li></ul><li style="margin-top: 40px">اقرأ برامج غيرك</li><ul><li style="margin-top: 20px; list-style-type: square">قد تظن أن هذه النصيحة مناقضة للنصيحة السابقة! لكن في الحقيقة أن قراءة برامج غيرك هي مهمة بقدر أهمية كتابة برامجك.</li><li style="margin-top: 20px; list-style-type: square">لكن يجب أن تقرأ لشخص معروف بأنه مبرمج ممتاز, لأنك لو اخترت قراءة برامج شخص مبتدئ فسوف تتعلم مبادئ برمجية سيئة وفي العموم لن تستفيد منها.</li><li style="margin-top: 20px; list-style-type: square">قراءة برامج مبرمجين آخرين هي ليست مهمة سهلة لكنها مفيدة جداً. لنفترض أنه ليس لديك أي فكرة عن المعامل الشرطي (؟:) في لغة C. قراءتك في مستندات اللغة عنها قد يفيدك قليلاً لكن في الحقيقة عندما تشاهد طريقة استخدامها في أحد البرامج سوف تستفيد أكثر. أيضاً قراءة برامج غيرك تعلمكالخوارزميات (algorithms) وهياكل البرامج (structures) التي لم تكن تعرفها من قبل!.</li></ul><li style="margin-top: 40px">اعمل مع مبرمجين آخرين</li><ul><li style="margin-top: 20px; list-style-type: square">عندما تعمل مع مجموعة كبيرة من المبرمجين سوف تكتشف مواضع النقص في قدراتك البرمجية.</li><li style="margin-top: 20px; list-style-type: square">عندما تعمل مع مبرمج أفضل منك سوف تدرك سريعاً أن هناك أشياء لا تستطيع عملها, لأننا نحن كمبرمجين نعتقد أننا جيدين لكن عندما نكتشف عدم مقدرتنا على عمل شئ, نسرع في تعلمه.</li><li style="margin-top: 20px; list-style-type: square">الكثير من المبرمجين يعتقدون أن كل ما يعملونه هو أفضل من أي شخص آخر, وهذا في الحقيقة خطأ.</li><li style="margin-top: 20px; list-style-type: square">أيضاً العمل مع مجموعة مبرمجين يصقل مهاراتك البرمجية. فإذا كنت قد كتبت خوارزمية مائتا مرة, فهناك دائماً احتمالية بأن يقوم شخص بجعل هذه الخوارزمية أفضل كفاءة ً.</li></ul><li style="margin-top: 40px">كلمة أخيرة: أحد بروفسورات علوم الحاسب قال مرة: "لا تتوقف أبداً في تعلم هذا المجال". فإذا كنت ممن يطورون مهاراتهم البرمجية دائماً سوف تصبح من أفضل المبرمجين.</li></ul>]]></description>
                            <author>نواف</author>
                            <category>تقنية</category>
                            <pubDate>25/11/2007</pubDate>
                        </item>
                    
                        <item>
                            <title>مبادئ البساطة في البرمجة</title>
                            <link>http://www.alfawaed.net/Summary/4/</link>
                            <description><![CDATA[<ul><li style="margin-top: 20px">فكر ببساطة: دائماً هناك حل بسيط لكل مشكلة. فقط افهم المشكلة جيداً. إذا لم تجد حلاً بسيطاً لا تفعل شيئاً!</li><li style="margin-top: 40px">ابني أساساً صحيحاً: قدر المستطاع صمم مشروعك بطريقة تمكنك في حال عدم انتهائك منه, من إضافة مميزات وخصائص جديدة دون التأثير على أساس المشروع.</li><li style="margin-top: 40px">اختبر عند الحاجة: صحيح أن اختبار أداء البرنامج من الأمور الهامة لكن لا تفرط في ذلك. اختبار كل شئ بأدق تفاصيله يضيع عليك الكثير من الوقت.</li><li style="margin-top: 40px">كن دقيقاً في التسمية: اختر أسماءاً واضحة ومعبّرة وفي نفس الوقت بسيطة.</li><li style="margin-top: 40px">اكتب التعليقات بطريقة بسيطة: هناك طرق كثيرة لكتابة التعليقات. يفضل عدم الإكثار من التعليقات على سطور البرنامج, وبدلاً من ذلك أكتب شرحاً كاملاً يوضح "ماذا , لماذا , كيف" تقوم الفئة (Class) أو الدالة (Function) بوظيفتها. التعليقات الواضحة تشرح للآخرين ما يقوم به البرنامج بكل بساطة.</li><li style="margin-top: 40px">استعر ثم بسّط: كلنا يبحث في الانترنت عن شيفرات (Code) يحتاجها في برنامجه, لكن كن حذراً في ذلك قد تعمل الشيفرة التي وجدتها ولكن قد تكون السبب في مشكلة كبيرة بعد ذلك, لذلك استعر ما تريد لكن حاول فهمها وتبسيطها قدر المستطاع.</li><li style="margin-top: 40px">ليست المسألة بعدد سطور البرنامج: هناك خلط بين البساطة وعدد سطور البرنامج. ليس معنى البساطة أن تقوم بكتابة سطور أقل, ولكن حذف أي شئ يعقّد عملية كتابة وصيانة البرنامج.</li><li style="margin-top: 40px">لا تكابر: اعرف حدودك. لا تخف من طلب المساعدة في إيجاد حل لمشكلتك. اذا استمريت في الطريق الخطأ بسبب غرورك سوف تجد برنامجك في النهاية قد غرق في الفوضى.</li><li style="margin-top: 40px">لا تثق في غريزة البساطة لديك: لست أنت من يحكم على البساطة. من يقيّم برنامجك هو من يستطيع التمييز.</li><li style="margin-top: 40px">تعلم الكثير عن الكثير: لإيجاد حل بسيط لأي مشكلة أنت بحاجة إلى التنويع. إمكانية النظر إلى المشكلة من أكثر من زاوية هي طريقة رائعة لحل المشكلات لكنك بحاجة إلى هذه الزوايا لكي تستخدمها. اقرأ كتباً وجرّب تقنيات ولغات مختلفة وكل ما يفيدك في إيجاد طرق عديدة لحل المشكلات.</li></ul>]]></description>
                            <author>نواف</author>
                            <category>تقنية</category>
                            <pubDate>4/9/2007</pubDate>
                        </item>
                    
                        <item>
                            <title>ما الذي يجعل عندك القدرة لكي تبرمج</title>
                            <link>http://www.alfawaed.net/Summary/3/</link>
                            <description><![CDATA[<ul><li style="margin-top: 20px">معرفة التركيب النحوي (syntax) لا تجعل منك مبرمجاً: عملت مع مجموعة من المبرمجين في بعض المشاريع للأسف ليست لديهم أدنى فكرة في مبادئ البرمجة, وأرغب في إعادة كتابة برامجهم. أحدهم كان من أوائل من حصلوا على شهادة معترفة في لغة جافا (Java), ببساطة لم يكن يعرف أي مفهوم في كيفية بناء برنامج متكامل!</li><li style="margin-top: 40px">البرمجة تتطلب القدرة على التركيز على مفاهيم مجردة: باستخدام مجموعة من اللغات والأدوات لإنشاء شئ من لاشئ لجعل الكمبيوتر يقوم بشئ مفيد!</li><li style="margin-top: 40px">يجب أن تكون قادراً على تخيل الحل لمشكلة لا تسطيع أن تراها أو تلمسها!</li><li style="margin-top: 40px">المبرمجين ليسوا عباقرة, ولكن هناك عبقرية مبرمجين, وهم من يستطيعوا أن ينتجوا أكثر من غيرهم</li><li style="margin-top: 40px">معظم الناس ينظرون إلى البرمجة أنها شئ سحري! ومنهم من يعتقد أن المبرمج يجب أن يكون أذكى من غيره, لكن في الحقيقة هي ليست هذه ولا تلك. دائماً ما أقول: "أنا أخبر الكمبيوتر بما عليه فعله وهو يفعله"</li></ul>]]></description>
                            <author>نواف</author>
                            <category>تقنية</category>
                            <pubDate>4/9/2007</pubDate>
                        </item>
                    
                    </channel>
                    </rss>
            