الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لماذا لانفتح موضوع عن جودة كتابة الكود

مغلق
بدأه فواز الشمري في 12 أغسطس 2005 · 46 رد · 3,471 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#26
اقتباس
أولا - يجب تحديد مكتبتين 1 - التحكمات التي نطورها بأنفسنا نجمعها في مكتبة واحدة للتحكمات

اتقصد بالتحكمات التي هي مثل عمل lib للــــ security

security : نظام محدد يستخدم في كل التطبيقات التي نبرمجها ان كانت جميع الانظمه من نفس النوع

بتفصيل اكثر:

لو فرضنا ان كل برنامج نصنعه يحتاج الى واجهة لهذا البرنامج مثل كلمة المرور واسم المستخدم

وليس ذلك فقط بل انه يجب علينا ان نقوم بعمل صلاحيه لكل مستخدم لهذا النظام

ان كان كلامي غير مفهوم فارجو التنويه عليه

#27

السلام عليكم و رحمة الله و بركاته

انا معكم في هذه الفكرة الاكثر من رائعة

و لكن لابد من مناقشة التفاصيل الخاصة بعمل ادوات التحكم و المكتبات

و اقترح ان تكون المناقشة في برنامج MSN Messenger

و ان نتفق علي موعد لهذه المناقشة

فبالطبع لن يقوم كل فرد منا بعمل ادوات و مكتبات بمفرده

و لذلك لابد من تعاوننا معا

و تواصلنا و هو ما سيتحقق من خلال الشات

سلام

حكمتي الدائمة.....................................................

ان ما عند الله لا يطلب الا بطاعته

.....................................................................

?who is Ingm

Name: Hasan Adel Hasan

Education: BCs in IS from Faculty of computers & information systems

Mansoura University- 2003

E-mail: hsn_3004@yahoo.com

#28
Ingm كتب:
السلام عليكم و رحمة الله و بركاته

انا معكم في هذه الفكرة الاكثر من رائعة

و لكن لابد من مناقشة التفاصيل الخاصة بعمل ادوات التحكم و المكتبات

و اقترح ان تكون المناقشة في برنامج MSN Messenger

و ان نتفق علي موعد لهذه المناقشة

فبالطبع لن يقوم كل فرد منا بعمل ادوات و مكتبات بمفرده

و لذلك لابد من تعاوننا معا

و تواصلنا و هو ما سيتحقق من خلال الشات

سلام

شكرا لك للموافقة على الفكرة ولكنني أفضل فتح موضوع خاص للفكرة أو المناقشة عبر الياهو ماسنجر لأني ما بشتغل عال Msn وما بحبوا

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#29
اقتباس
اتقصد بالتحكمات التي هي مثل عمل lib للــــ security

المقصود هنا الأدوات المصممة بواسطة المستخدم User Controls مثل الادوات التي تجدها في الإنترنت مثل الـ Nice Panel وغيرها ..\

والله الموفق.

#30

-09

كمـــــا ترون فإن جميع المشاركين في هذا الموضوع موافقين على الفكره المطروحه

اقترح ان نحدد رئيس ممن ليده الخبره الكافيه في هذا الموضوع وأن يوافق عليه الجميع

وبالتوفيق

#31

بسم الله الرحمن الرحيم

طيب الاول نتبادل عناوين البريد علي الياهو مسنجر

و كل واحد عايز يشاركنا يحط بريده هنا

وانا اولكم

hsn_3004@yahoo.com

و بعد كده من خلال الحوارات هنقدر نحدد مين هيبقي المدير في العملية دي

سلام

حكمتي الدائمة.....................................................

ان ما عند الله لا يطلب الا بطاعته

.....................................................................

?who is Ingm

Name: Hasan Adel Hasan

Education: BCs in IS from Faculty of computers & information systems

Mansoura University- 2003

E-mail: hsn_3004@yahoo.com

#32
اقتباس
بسم الله الرحمن الرحيم

طيب الاول نتبادل عناوين البريد علي الياهو مسنجر

و كل واحد عايز يشاركنا يحط بريده هنا

وانا اولكم

hsn_3004@yahoo.com

وهذا ايميلي على الياهو(عبد الرحمن)

abumarie2001@yahoo.com

#35

السلام عليكم

وانا ايضا معكم وهذا ايميلى على الياهو

solo_net2005@yahoo.com

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#36

هذه بعض الافكار لتحسين كفاءة البرنامج

1-زيادة سرعة البحث في المصفوفات

يمكنك زيادة سرعة عملية البحث داخل مصفوفة بعشرات المرات (وقد تصل الى مئات مع المصفوفات الكبيرة) باستدعاء الطريقة BinarySearch عوضا عن IndexOf. ولكن من الضروري معرفة ان الخوارزم الذي تتبعه هذه الطريقة تستخدم البحث الثنائي، لذلك عليك ترتيب عناصر المصفوفة (باستخدام Sort) قبل اجراء البحث:

Dim a() As String = {"...", "..."}

' لابد من ترتيب العناصر
Array.Sort(a)

Array.BinarySearch(a, "xxx")

2-اعلى واصغر قيمة بسطرين فقط!

Sub Main()
      Dim a() As Integer = {2, 5, 7, 3, 10, 6}

      Array.Sort(a)
      Console.WriteLine(a(0)) ' => 2 اصغر قيمة

      Array.Reverse(a)
      Console.WriteLine(a(0)) ' => 10 اعلى قيمة
End Sub

3-استخدام ذكي للكلمة المحجوزة When

الجميع يعلم الغرض من الكلمة المحجوزة When لحظة قنص الاستثناءات. سأريك طريقة ذكية تمكنك من الاستفادة منها. هب مثلا انك تريد حفظ جميع الاستثناءات التي تقع في ملف، عليك كتابة اجراءات الحفظ في كل مرة تحاول قنص نوع معين من الاستثناءات:

Try
      ' ...
Catch ex As DivisionByZeroException
      ' اجراءات الحفظ
Catch ex As FileNotFoundException
      ' اجراءات الحفظ
Catch ex As Exception
      ' اجراءات الحفظ
End Try

بدلا من كتابة وتكرار اجراءات الحفظ بالشكل السابق، لماذا لا تستخدم الكلمة المحجوزة When مرة واحدة فقط وتجعلها تستدعي اجراء يقوم بالحفظ

Module Module1
      Sub Main()
            Try
                  ' ...
            Catch ex As Exception When SaveExceptionInfo(ex)
                  ' لا تكتب شئ هنا
            Catch ex As DivisionByZeroException
                  ' ...
            Catch ex As FileNotFoundException
                  ' ...
            Catch ex As Exception
                  ' ...
            End Try

      End Sub

      Function SaveExceptionInfo(ByVal ex As Exception) As Boolean
            ' اجراءات الحفظ
            Console.Write(ex.Message)
            Return False
      End Function
End Module

4-نصائح للحفاظ على موارد النظام

تعتبر حجم الذاكرة المستخدمة فى تنفيذ برنامجك شىء مهم يجب عمل حسابه والاهتمام به لتمكين برنامجك من العمل بكفاءة وبسرعة عالية وذلك يتطلب منك الحفاظ على موارد النظام.

دعنى أقول لك أن كل متغير أو تشغيل ل Method أو فتح Connection يكلفك الكثير من الذاكرة وكل شىء بثمنه فاعتبر نفسك فى سوق Market وكل سلعة من السلع مثال - Variables - Method - Class - Connection لها سعرهاويا ترى ما هو الثمن المدفوع؟ الثمن المدفوع هو جزء من الذاكرة

أنظر الى الكود التالى:

Obj.Property1 = val1
Obj.Property2 = val2
Obj.Property3 = val3
Obj.Property4 = val4
Obj.Property5 = val5

لماذا لاننفذه هكذا

Obj.SetValues(val1, val2, val3, val4, val5)

فالطريقة الأولى تحتاج ذاكرة أكثر لأنها تقوم بالتشغيل خمس مرات أما الطريق الثانية مختصرة لأنها تقوم بتنفيذ المطلوب مرة واحدة وهذا بالطبع ينعكس على كفاءة أداء البرنامج شىء أخر هام بمستخدمى ADO.NET والتعامل مع قواعد البيانات

1- أفتح Connection عندما تكون فى حاجة لفتحها As Late As Possible

2- اغلق Connection عندما لا تكون فى حاجة اليها As Soon As Possible

ان اكثر العناصر ثمنا هى فتح Connection واذا اردت معرفة ذلك جرب الكود التالى بعد فتح connection أو ضع Timer واجعل خاصية Interval = 1000 كل ثانية وراقب حجم الذاكرة المستخدمة مع استمرار عمل برنامجك

GC.GetTotalMemory(True)

3- وهذه النصيحة خاصة بالمزودات Providers فكما نعلم انه يوجد ضمن VS.NET نوعين من المزودات OleDB Provider و SqlClinet Provider بالرغم من أن OleDB Provider شامل ويمكنه الوصول الى اى نوع من قواعد البيانات الا انه لا ينصح باستخدام المزود OleDB فى قواعد بيانات SQL Server ويستخدم لها المزود SqlClint والسبب فى ذلك ان المزود SqlClint من نوع network-level provider ويتصل مباشرة مع قاعدة البانات Sql Server من خلال low-level network access أما بالنسبة للمزود OleDB يستخدم طبقة اضافية و يعمل من خلال COM interop layer والتى تمث عبء على موارد النظام. أخيرا، وفر الذاكرة حرصا على كفاءة أداء برنامجك.

منقول (لللاستاذ تركى العسيرى)

تحيـــــاتى (h)

تم تعديل هذه المشاركة بواسطة SOLO.NET في 14 أغسطس 2005 في 23:23

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#37

بسم الله الرحمن الرحيم

طيب يا جماعة انا عندي فكرة

وهي اننا نعمل غرفة علي البالتك و نسميها DevByArab كما قال اخي blackeyes

و بهذا نتمكن من التجمع في مكان واحد و الاتفاق علي الادوات التي سنعملها

سلام

حكمتي الدائمة.....................................................

ان ما عند الله لا يطلب الا بطاعته

.....................................................................

?who is Ingm

Name: Hasan Adel Hasan

Education: BCs in IS from Faculty of computers & information systems

Mansoura University- 2003

E-mail: hsn_3004@yahoo.com

#38

شكرا جزيلا للاخ SOLO.NET

يالله ياشباب همتكم

وإن شاء الله سيكون لنا الكثير من المشاركات في هذا الموضوع

الاخ Ingm

نحن نريد ان تسجل كل كلمة في ذاكرة ولايوجد لنا سوى ذاكرة هذا المنتدى الشامخ

بالدردشة يضيع جوهر الموضوع

وابدأ

أنا ارشح نفسي لأكون عضو من فريق DevByArab

وارجو ان تقترحوا اسما غير هذا ان اردتم

حوالي عشرة ايام واكون قد اضفت في اجندتي هذا الموضوع او (المشروع)

#39

فكرة جيدة

تم تعديل هذه المشاركة بواسطة samerselo في 15 أغسطس 2005 في 17:01

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#40

انا مع الاخ BLACKEYES ان نستمر فى طرح المواضيع هنا فى المنتدى حتى لا تضيع المشاركات والافكار وارجو ان ينضم الينا باقى الاعضاء لتكوين الفريق واختيار شخص يكون المسؤول عن هذا الفريق

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#41

أخ SOLO.NET

اقتباس
انا مع الاخ BLACKEYES ان نستمر فى طرح المواضيع هنا فى المنتدى حتى لا تضيع المشاركات والافكار وارجو ان ينضم الينا باقى الاعضاء لتكوين الفريق واختيار شخص يكون المسؤول عن هذا الفريق

هذه أفضل فكرة حتى الآن

لذا اقترح كأول خطوة المباشرة في فتح موضوعين للعمل

الأول - لمكتبة الأكواد

والثاني - لمكتبة التحكمات

تم تعديل هذه المشاركة بواسطة samerselo في 15 أغسطس 2005 في 17:00

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#42

اوافق الاخ samerselo بان نبدا بمكتبة الاكواد

#43

بسم الله الرحمن الرحيم

يا جماعة انا كان قصدي اننا نتجمع في البالتك علشان ناخد و ندي في الكلام مع بعض لحد اما نوصل الي فكرة و نتفق عليها و نتشاور في موضوع تنفيذها و تقسيم العمل و ...............

و بعد الانتهاء من العمل نقوم بوضع هذه الاداة او المكتبة هنا في موضوع مخصص لذلك

و نشرح محتوياتها و كيف التعامل معها

وكمان نحط امثلة توضيحية

ولا انتو رايكو ايه ؟

سلام

تم تعديل هذه المشاركة بواسطة Ingm في 15 أغسطس 2005 في 18:30

حكمتي الدائمة.....................................................

ان ما عند الله لا يطلب الا بطاعته

.....................................................................

?who is Ingm

Name: Hasan Adel Hasan

Education: BCs in IS from Faculty of computers & information systems

Mansoura University- 2003

E-mail: hsn_3004@yahoo.com

#44

حية طيبة وبعـد .

مع الشكر لصاحب الموضوع والإخوة المشاركين .

هناك قضية أود أن أطرحها ، وهي :

كتير من الإخوة يتعامل مع قواعد البيانات وخصوصاً SQL Server ، وتعاملنا مع قواعد البيانات يجعل أكثر عملنا هو ( أسترجاع - حفظ - تعديل - بحث ... إلخ ) أي متعلق بقواعد البيانات ، في هذه الحالة لو تعاملنا مع القاعدة بأوامر تكون موجودة داخل القاعدة نفسها لأمكن الاستفادة من هذه الأوامر في أكثر من تطبيق ولأصبح استخدام هذه الإجراءات أسهل وأيسر ومتوفر مع القاعدة نفسها ، ويبقى تمرير المتغيرات والمعلومات إلى هذه الإجراءات والاستمتاع بالمعلومات التي نستفيدها - وغيرنا - من هذه المعلومات .

نقطة أخرى :

التعامل مع لغة البرمجة يجب أن يكون من منطق من أوجد تلك اللغة ، لأنه يضمن لك في هذه الحالة استفادة قصوى من لغة أوجدها وأنفق عليها وقته وجهده وماله ، فمن البديهي أن يكون هو أعرف الناس بها .

عموماً تقنية OOP هي حديث الساحة في تحسين كتابة الكود ، ولعل أفضل من كتب في هذا المجال باللغة العربية هو الاستاذ / تركي العسيري في كتابة عن VB.NET الموجود في موقعه ( شبكة المطورون العرب ) .

هناك بعض المواقع التي تعرض بعض النصائح عن تحسين الكود مثل :

موقع تحسين كتابة الكود

#45

في بداية الأمر اشكر كل الأخوه الكرام الذين شاركوا في هذا النقاش وهذا يدل على انه فعلا نحن بحاجة الى تعلم فنون البرجمة الصحيحة .

بالنسبة للأخوة الذين وضعو موضوع البالتك او الحوار على الماسنجر او غيرة . أنا ارفض تماما هذه الفكرة لأننا في الأول ولأخير نريد ان نستفيد وفي نفس الوقت نفيد لذلك اتمنا ان لا يتحول هذا الموضوع إلى موضوع مقفل مقتصر على بعض الشباب فقط .

الشي الثاني اني لم اكن اتوقع ان هذا الموضع سيلاقي هذاالإقبال والعدد من القراء لذلك بإذن الله سوف احاول السيطرة على الموضوع ليكون خاص فقط كما يدل عنوانه .

على العموم ان شاء الله سوف احاول ان ضع اساسيات في كيفية اختبار الكود ونتتقل معا تدريجيا لبناء برنامج يقوم احدنا بوضع الفكرة له ونضع الكودات في هذا القسم ثم نقوم ببرمجته مع بعض بحيث لاننتقل إلى الخطوة التالية إلا بعد ان نقوم جميعنا بوضع الملاحضات المتعلقة بسرعة وجودة الكود .

اتمنا في النهاية من الأخوه من من يعرف اي موقع او كتاب يتحدث عن هذا الجانب ان يترك رابطة هنا كي تعم الفائدة للجميع , ونتمنا من الخبراء أيضا المشاركة معنا حتى نتبع الأسلوب العلمي في النقاش وطرح الحلول .

B)

#47

موضوع جميل يا جماعة ولو اني جئت متأخر شوي

بس معلش اعذرونا

انا كنت مشغول

على العموم انا حقيقة متشوق للمشاركة والنقاش حول هذا الموضوع واظن انه من المواضيع التي تستحق الكثير من النقاش وتقترب ببرامجنا الى المستوى المفروض

وانا معكم ان شاء الله

وبالتوفيق

mbm_h@hotmail.com

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…