منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "To shabby";
الأرشيف الحالي: 2002.07.25;
تنزيل: [xml.tar.bz2];

إلى

حول التدوين المجري وقواعد تصميم برنامج للدلافين؟ البحث عن فروع مماثلة


N A N   (2002-06-21 14:23) [0]

أين يمكنني أن أقرأ عن التدوين المجري فيما يتعلق بالدلافين وقواعد تصميم برنامج للدلافين؟ حسنًا ، مثل ، توجد قواعد للمسافة البادئة وتسمية معرفات وترتيب الحلقات والشروط ، إلخ. هل هناك أي معيار على الإطلاق في هذا الصدد؟
ثم تنشأ مشاكل في قراءة برامج الآخرين وتحليلها ، وأود في المكتب ، على سبيل المثال ، توحيد عملية تصميم البرنامج بطريقة أو بأخرى!



Игорь Шевченко   (2002-06-21 14:33) [1]

بالنسبة للمعيار ، يمكنك أخذ شفرة مصدر VCL.
يمكنك أن تقرأ في Teixeira و Pacheco: "دلفي 5. دليل مطور البرامج" - هناك فصل كامل مخصص لهذا الغرض.
لا توجد كلمة عن التدوين المجري. :-)

مع خالص التقدير،



N A N   (2002-06-21 14:36) [2]

تيكسيرا وباشيكو: "دليل مطور دلفي 5." - هل يمكنك الاطلاع على هذا عبر الإنترنت في مكان ما؟

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



Виктор Щербаков   (2002-06-21 14:45) [3]


> حول التدوين المجري لا توجد كلمة. :-)

هم فقط لا يقولون أن هذا يسمى التدوين المجري.
أنا أتحدث عن أسماء المعرفات مثل GetComputerName.


> هل يمكن أن ننظر إلى هذا على الإنترنت في مكان ما؟

نسخة مختصرة على UBPFD.



N A N   (2002-06-21 14:51) [4]

> نسخة مختصرة على UBPFD.
ولكن بدقة أكثر الرابط؟



Виктор Щербаков   (2002-06-21 14:56) [5]

http://delphibase.endimus.com/?action=coderules



kull   (2002-06-21 15:13) [6]

معيار صغير:
http://download.olis.ru/pages.php?direction=softlab



Игорь Шевченко   (2002-06-21 16:28) [7]

Victor Shcherbakov © (21.06.02 14: 45)


إقتباس 1 >> لا توجد كلمة عن التدوين المجري. :-)
>
> هم فقط لا يقولون أن هذا يسمى تدوين المجرية.
> أنا أتحدث عن أسماء المعرفات مثل GetComputerName.


هذه ليست تدوين مجري. التدوين المجري هو بادئة كتابة قبل اسم المتغير ، على سبيل المثال lpszComputerName ، pnfMyCoolProc ، dwSize ، إلخ.

مع خالص التقدير،



Виктор Щербаков   (2002-06-21 16:39) [8]

إيجور شيفتشينكو © (21.06.02 16: 28)
نعم. شيء أنا اختلطت قليلا :)
لكن Teixeira و Pacheco لديهم حول هذا الموضوع (البادئات للأنواع المذكورة).



iZEN   (2002-06-23 23:49) [9]

lpszComputerName ، pnfMyCoolProc ، dwSize ، إلخ. - هذا هو قشر لا لزوم لها لأحد ، والذي يسد نص البرنامج والخوارزمية.

لا تستخدم أبدًا تدوينًا مجريًا ، واستدعي بأسمائها بأسمائها الحقيقية - إذا كان اسم المتغير يحتوي على اختصار لاسم النوع الذي ينتمي إليه ، فلن تعرف بعد ما معنى ذلك.

انظر "حجر المبرمجين" حول هذا الموضوع:
http://www.progstone.nm.ru/reciprocality/r0/index.html



kull   (2002-06-24 02:39) [10]


> lpszComputerName ، pnfMyCoolProc ، dwSize ، إلخ. - لا أحد
> قشر غير ضروري ، والذي يسد نص البرنامج والخوارزمية.


هذا هو قشر!
أو ربما ليست هناك حاجة أنواع المتغيرات؟
دعونا نفعل ذلك من دلفي البصرية الأساسية ...

تمامًا مثلما يساعد اسم المتغير في فهم الغرض منه ، فإن البادئة تساعد في ذلك - فهي توضح نوعه عند قراءة الكود ، على سبيل المثال ، يمكن أن يكون المتغير loop عددًا صحيحًا أو تعدادًا أو نوعًا منطقيًا.

هل يمكننا فقط كتابة Button1 و Button2 و Form1 وما إلى ذلك؟



Anatoly Podgoretsky   (2002-06-24 07:49) [11]

ولك لشخصيات للشخصيات



Praco   (2002-06-24 09:20) [12]

iZEN (23.06.02 23: 49)
"قشر غير ضروري"
نعم ، ليست أفضل طريقة لتحسين قراءة التعليمات البرمجية.

NAN (21.06.02 14: 23)
لدي مثال لشخص ما لمعايير دلفي و IB. لإرسال؟



Dok_3D   (2002-06-24 09:41) [13]

2iZEN (23.06.02 23: 49)
lpszComputerName ، pnfMyCoolProc ، dwSize ، إلخ. - هذا هو قشر لا لزوم لها لأحد

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

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



Игорь Шевченко   (2002-06-24 10:17) [14]

Dok_3D © (24.06.02 09: 41)
> في الواقع ، فإنه يسهل كثيرا الملاحة في بنفسك
> نصوص ضخمة الحجم. في البداية ، بالطبع ، كان الأمر غير عادي
> زيادة طول اسم كل متغير بأحرف 2-3.
> لكن بعد ذلك ، عندما يصل عدد سطور الكود إلى عدة أسطر
> الآلاف من هذه البادئات تساعدك على فهم ما تريد بسرعة
> جعل في قسم معين من البرنامج.


عندما يصل عدد الخطوط إلى الآلاف ، لفهم ما تريد القيام به ، تحتاج إلى كتابة تعليقات مفصلة. عندما يصبح عدد الخطوط مساوياً لمئات الآلاف ، فإن وثائق البرنامج الكاملة والمنظمة جيدًا ، والجداول المرجعية التبادلية ، وغيرها تساعد.

أي اصطلاحات تسمية تحسين التصور للرمز من قبل المتخصص الذي قبلها وتفاقم تصور الرمز من قبل أولئك الذين لم :-)

مع خالص التقدير،





Anatoly Podgoretsky   (2002-06-24 10:30) [15]

IABC
dwAbc
frmAbc

تحسن كبير في التصور



Виктор Щербаков   (2002-06-24 10:36) [16]

أنا أيضًا لست مؤيدًا للعلامة المجرية. عندما يكون هناك العديد من الأنواع (المئات) ، لن يقول حرفين من البادئة أي شيء.
حتى أناتولي بودغوريتسكي © لاحظت بشكل صحيح.

في رأيي ، مشكلة تحديد النوع (قبل التجميع) يجب أن تقوم بها البيئة. مثال على ذلك هو تلميحات في محرر التعليمات البرمجية.



Dok_3D   (2002-06-24 10:41) [17]

2Igor Shevchenko © (24.06.02 10: 17)
أي اصطلاحات تسمية تحسين التصور للرمز من قبل المتخصص الذي قبلها وتفاقم تصور الرمز من قبل أولئك الذين لم :-)

أوافق ، رغم أنه يمكنك التعود على مثل هذا الاتفاق في فترة زمنية قصيرة جدًا.

2Anatoly Podgoretsky © (24.06.02 10: 30)

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



Anatoly Podgoretsky   (2002-06-24 10:52) [18]

لا تظن فقط أنني أثني عليك ، هذا شأنك.



kull   (2002-06-24 11:49) [19]


> iAbc
> dwAbc
> frmAbc
>
> تحسنت كثيرا الإدراك


نعم ربما
ABC
ABC
ABC
يقولون الكثير عن أنفسهم.

----------------------------
Abc.Close
أو
frmAbc.Close
ما هو أسهل في القراءة مع فهم أنهم يحاولون إغلاق هنا ، ديسيبل المؤشر أو النموذج؟

إذا لم يتم احترام القواعد والمعايير ، فسنكون الآن كذلك Ж جلس (على الرغم من ربما بسبب هذا نحن نجلس). لا توجد قابس واحد يناسب مأخذ الطاقة ...



Anatoly Podgoretsky   (2002-06-24 11:57) [20]

هل تريد فهم؟

AbcForm.Close
AbcTable.Close



Игорь Шевченко   (2002-06-24 12:08) [21]

أناتولي بودغوريتسكي © (24.06.02 11: 57)

> AbcForm.Close
> AbcTable.Close


هذا هو تدوين postfix :-)
الهنغارية - البادئة :-)




Anatoly Podgoretsky   (2002-06-24 12:24) [22]

هذه ليست تدوينًا ، ولكنها لغة إنجليزية طبيعية ، إذا كان هناك نغمة ، فسيبدو الأمر مثل AbcI و AbcFrm و AbcTbl for postfix



kull   (2002-06-24 12:26) [23]


> Anatoly Podgoretsky © (24.06.02 11: 57)

ومن AbcForm من حيث المبدأ يختلف عن frmAbc.
هنا هو نفس النوع صقل.
حسنًا ، كل شيء أفضل من Abc.
ولماذا يخترع شيئًا ما إذا كان قد فكر بالفعل فيك وخلق بعض القواعد

وإلى جانب ذلك ، فإن نوع (فئة) المتغير أساسي ، على سبيل المثال:

برميل من الفودكا.
برميل من كفاس.
البرميل هو نوع ؛ إنه أكثر من مجرد محتوى محدد.
يحدد ما هو المألوف الذي يجب القيام به مع الكائن وكيف (على سبيل المثال ، للفة ...).

فلماذا لا تكتب معلومات حول النوع الذي يعرف السلوك كبادئة؟



Игорь Шевченко   (2002-06-24 12:37) [24]

كم سنة توجد جميع أنواع اصطلاحات التسمية - منذ سنوات عديدة كانت الحروب المقدسة تدور حولها :-))

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

أي اتفاق جيد ، والشيء الرئيسي هو أن أكثر من شخص واحد يلتزم به :-)



Anatoly Podgoretsky   (2002-06-24 12:39) [25]

لماذا الخروج برموز للرموز؟



Игорь Шевченко   (2002-06-24 12:45) [26]

أناتولي بودغوريتسكي © (24.06.02 12: 39)

> نعم ، لماذا الخروج برموز للرموز؟


الغريب أنه يثير الانضباط في الفريق :-)



kull   (2002-06-24 12:48) [27]


> وأي اتفاق جيد ، والشيء الرئيسي هو الالتزام به
> أكثر من شخص واحد :-)

هذا صحيح.


> نعم ، لماذا الخروج برموز للرموز؟

أنا لا أفهم
انا لا افهم أنا سيئة الفهم ...



Anatoly Podgoretsky   (2002-06-24 12:57) [28]

يعد EditForm بالفعل رمزًا ، بلغة طبيعية ، ولماذا يخترع رمزًا آخر بلغة اصطناعية ، فأنت لست في برمجة C / VB مع كتابتها الضعيفة



kull   (2002-06-24 13:10) [29]

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

لا يمكن أن يكون EditForm نموذجًا فقط على الشاشة ، ولكن أيضًا نموذج مستند لمحاسب أو استبيان أو جلسة تحرير (الحالة) أو طريقة تحرير (على سبيل المثال ، في Delphi يمكن تحرير النموذج (dfm) باستخدام الماوس ، أو يمكن تحريره كنص) ، إلخ.

لكن يقول frmEdit بوضوح أن هذا هو بالضبط الشكل.



Игорь Шевченко   (2002-06-24 13:12) [30]

kull © (24.06.02 13: 10)

> لكن frmEdit يشير بوضوح إلى أن هذا هو بالضبط الشكل.


لا يتحدث صراحة. هذا لا يعني أي شيء لأي شخص لا يعرف معاييرك للأسماء.



kull   (2002-06-24 13:29) [31]


> من الواضح لا يتكلم. هذا لا يعني أي شيء لأي شخص
> لا يعرف المعايير الخاصة بك عن الأسماء.


نعم ، أين المعيار المحدد؟
يمكن وضع frm في أي مكان بالاسم أو استبداله بشيء آخر. هذا ليس هو الحال.

يعني Anatoly Podgoretsky ، كما أفهمها ، أنه يكفي تسمية المتغير ببساطة.
ولكن الحقيقة هي أنه من المفهوم بالنسبة لشخص ما ، ولكن بالنسبة للآخر ، الأمر ليس كذلك ، لأنه لا توجد قواعد عامة متبعة.

واحد سوف اسم EditForm ، والآخر - FormForEditing. هذه مجرد حالة واضحة ، ولكن إذا
لا أحد يفهم WindowForFilling؟



Anatoly Podgoretsky   (2002-06-24 13:35) [32]

إيجور شيفتشينكو © (24.06.02 13: 12)
أول شيء فكرت به هو الإطارات :-)



Игорь Шевченко   (2002-06-24 13:39) [33]

حالة من الحياة: في برنامج Pascal ، كانت هناك إعلانات:

فار
lpForm، lpTo: Boolean؛

قبل ذلك ، تم تقديم التدوين المجري.

أسأل المؤلف - ماذا تعني هذه البادئة (lp)؟
يجيبني - متغير محلي. وفي عيونهم نظيفة ونظيفة :-)))

لن يشرح frmEdit أي شيء أبدًا لأي شخص لم يقبل هذا المعيار.




Anatoly Podgoretsky   (2002-06-24 13:42) [34]

kull © (24.06.02 13: 29)
لقد فهمت الجوهر بشكل صحيح ، بالطبع ، عندما يتعلق الأمر بنموذج معين ، فمن الأفضل أن يكون لديك خيار أكثر أهمية ، نموذج طلب التذاكر ، جدول تحرير العملاء ، بشكل طبيعي باللغة الإنجليزية ، لأنه في دلفي لا يمكن ذلك.



Игорь Шевченко   (2002-06-24 13:51) [35]

أناتولي بودغوريتسكي © (24.06.02 13: 42)


> نموذج طلب التذاكر ، نموذج تحرير العميل


لذلك وصلنا إلى هذا. MS ، بالمناسبة ، أيضا.



kull   (2002-06-24 13:57) [36]


> لذا ، لن يشرح frmEdit أي شيء لأي شخص لا يفعل ذلك
> قبلت هذا المعيار


هل أنا جادل مع ذلك ...



Wizard_Ex   (2002-06-24 18:14) [37]

> Anatoly Podgoretsky © (24.06.02 12: 57)
> EditForm هو بالفعل رمز ، في اللغة الطبيعية ، لماذا
> ابتكر شخصية أخرى بلغة مصطنعة ،
> أنت لست في برمجة C / VB مع كتابتها الضعيفة

أحسنت ، أحسنت
من أجل الكتابة الرائعة على الجبل :-)



iZEN   (2002-06-24 19:02) [38]

في بعض الأحيان يكون من الضروري تغيير سلف أحد الصفوف ، وإعادة هيكلة جذرية لأداء سلفه ، وتغيير التفاعل التفاعلي إلى المعاملات (هنا: استبدال النموذج تقريبًا بأزرار مع إجراء إنشاء نموذج ويب أو نسخة طابعة ، بالطبع ، "بدون أزرار"). لكن فئة الخلف لا تزال على حالها تقريبًا في شكل نموذج تفاعلي مرئي لضمان تحرير البيانات (هذا هو التصميم).

لنفترض أننا بحاجة إلى تمرير ارتباط إلى كائن ذي نموذج تفاعلي إلى بعض الطريقة / الإجراء / الوظيفة ، حيث يقول النموذج الأولي إنه لا يمكنه معالجة البيانات من كائن من فئة القاعدة (المعاملات) إلا (وهذا يتوافق مع نموذج OOP حول تعدد الأشكال في العمل مع الكائنات الطبقات الخلف).

في هذه الحالة ، فإن أولئك الذين يدافعون عن الترميز الهنغاري لن يفهموا أي شيء حول ما يتم نقله وما هي البيانات التي تتم معالجتها بالفعل - معنى تعدد الأشكال ببساطة بعيد المنال بسبب التدوين "غير الصحيح" للمراجع المتغيرة.



iZEN   (2002-06-24 19:14) [39]

إذن ما هو الأفضل:
بدلاً من frmEdit استدعاء EditForm؛
btExit -> ExitButton ؛
mnuMain -> MainMenu؛
miFile - FileMenuItem؛
pnlMessages -> MessagesPanel -> أفضل ، الرسائل ؛
lpintI -> i؛
slNames -> NamesStringList -> أفضل ببساطة ، أسماء ؛
إلخ

الشيء الرئيسي هو أن الكائنات التي تعمل معها مباشرة من الكود لها أسماء "بشرية" ، وليس بالضرورة مع بادئة اسم النوع. يمكنك دائمًا اكتشاف نوع الكائن ، وسيساعد المترجم و IDE نفسه إذا لم تكن لديك فكرة عما تتعامل معه.



iZEN   (2002-06-24 19:23) [40]

ومع ذلك ، تم اختراع التدوين المجري أيضًا لتجنب تعارض الأسماء في التطبيق بأكمله. مع ظهور نمطية والتغليف ، أصبح هذا لا لزوم لها ، حتى ضارة. بعد كل شيء ، أصبح الوصول إلى أي طريقة / خاصية ممكنًا الآن من خلال التدوين المنقط (وهذا صحيح أيضًا على مستوى وحدات TurboPascal / ObjectPascal).

بالنسبة لبرامج C / C ++ ، غالبًا ما تكون هناك حاجة إلى المتغيرات والثوابت العالمية ذات الأسماء المتشابهة وأنواع مختلفة ، وهذا من أين جاء: من الصعب الخروج باسم جديد ، لذلك نأخذ اسمًا مشابهًا ، ونضيف بادئة نوع ولاحقة رقم فقط في الحالة ، بحيث يكون كل شيء فريدًا. ..



صفحات: 1 2 3 فرع كامل

المنتدى: "To shabby";
الأرشيف الحالي: 2002.07.25;
تنزيل: [xml.tar.bz2];

الطابق العلوي





الذاكرة: 0.71 ميغابايت
الوقت: 0.052 ج
3-81188
التين الهندي
2002-07-03 08:42
2002.07.25
أنا الفرامل ، الرجاء المساعدة


6-81399
أوزيه
2002-05-15 12:20
2002.07.25
فوز - الجوارب يونيكس


1-81325
d_oleg
2002-07-12 17:30
2002.07.25
TMediaPlayer ActiveX - كيفية تحديد ما إذا كان هناك؟


1-81246
يوري زوتوف
2002-07-14 18:10
2002.07.25
PEOPLE! مساعدة رجل!


1-81280
مستكشف
2002-07-12 15:30
2002.07.25
نافذة تشايلدز





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch English الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский