أفضل الممارسات من أجل تسمية الاتفاقية من الضوابط واجهة المستخدم الرجوع في التعليمات البرمجية-خلف?

StackOverflow https://stackoverflow.com/questions/111812

  •  02-07-2019
  •  | 
  •  

سؤال

ما هو أفضل ممارسة تسمية الضوابط واجهة المستخدم (مربعات النص, المنسدلة, الخ.) على النماذج والتقارير للرجوع إليها في التعليمات البرمجية-خلف الصفحات ؟

لقد وضع الكثير من التقارير و النماذج في مكتبي.لدي العديد من تطبيقات الويب توفير حوالي 80+ "لايف" التقارير التي يتم إنشاؤها من مختلف وتعدد مصادر البيانات (Access, SQL, Oracle).هذه التقارير تعتبر "العيش" لأنها تقبل المستخدم تعيين المعاملات من شكل ، ثم الاستعلام عن قاعدة البيانات إلى إصدار تقرير بناء على المعلومات الراهنة المتاحة.

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

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

هل كانت مفيدة؟

المحلول

المنتج الرئيسي على العمل يستخدم txt_ pnl_ الخ البادئات.هذا لا العمل ، على الرغم من أنها قليلا من الألم في بعض الأحيان عند التبديل شيء أن يخفي فقط/يظهر عناصر من يقول tr أن الفريق لأن لديك إلى إعادة تسميته.

ما كنت قد بدأت به في مشاريع جديدة ، هي تسمية بلدي الضوابط واجهة المستخدم مع واجهة المستخدم البادئة;على سبيل المثال ، uiName.منذ أنا يعارض بشدة anti-منهج المجرية, والسعي الذاتي توثيق الكود, هذه الاتفاقية يعمل بشكل جيد.في الواقع, إذا كان أي شيء هو الحقيقي منهج المجرية (ui يجري البادئة معنى التحكم واجهة المستخدم).

نصائح أخرى

أنا لا تزال تستخدم منهج المجرية للضوابط ولكن لم يعد للمتغيرات.

btn Button
cbo ComboBox
chk CheckBox
clb CheckedListBox
grp GroupBox
iml ImageList
lbl Label
lnk Hyperlink
mnu Menu
pbr ProgressBar
pic Picture
pnl Panel
rtb RichTextBox
tmr Timer
tvw TreeView
txt TextBox

للحصول على عناصر تحكم واجهة المستخدم الرسومية ، أنا لاحقة اسم المتغير مع التحكم اسم:

  • firstNameTextBox
  • lastNameTextBox
  • submitButton

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

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

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

يمكننا الاستعانة الكثير ، لذلك تأكد من الاتصال بنا اصطلاحات التسمية إلى كل من مديري المشاريع.

وهنا بعض الروابط اصطلاحات التسمية:

http://www.irritatedvowel.net/Programming/Standards.aspx

http://msdn.microsoft.com/en-us/library/xzf533w0(مقابل.71).aspx

http://www.visualize.uk.com/resources/asp-net-standards.asp

أنا لا وبالمثل لك.عندما يكون لديك طن من الضوابط يصبح كل فوضوي ، لذلك أنا البادئة كل اسم مع عواصم السيطرة على الصف.

على سبيل المثال:

مربع نص -> tbName

DataGrid -> dgName

لوحة -> pName

هذا يجعل من الواضح كيفية التعامل مع الضوابط الجديدة (أيكيفية استخلاص البادئة)

لقد شعرت دائما أن السبب الحقيقي الوحيد بالنسبة البادئات كان لذلك يمكن أن يكون أشياء مثل txtFirstName و lblFirstName على نفس نموذج/صفحة.لأن الغالبية العظمى من الوقت, أنا حقا فقط العمل مع الميدانية الفعلية السيطرة على نفسها, أنا تخطي البادئة و فقط استخدام البادئات الضوابط المرتبطة بها.فعلى سبيل المثال ، lblMonth & الشهر تخطي cbo البادئة.

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

2-شار البادئات دائرة الرقابة الداخلية مكونات واجهة المستخدم تفضل:

bt_ : UIButton
lb_ : UILabel
tx_ : UITextField
tv_ : UITextView
vw_ : UIView
im_ : UIImageView
sc_ : UIScrollView
tb_ : UITableView
cl_ : UICollectionView
st_ : UIStackView
pk_ : UIPickerView
pr_ : UIProgressView
ai_ : UIActivityIndicatorView
wb_ : UIWebView / WKWebView
mp_ : MKMapView
gr_ : UIGestureRecognizer
sw_ : UISwitch
sl_ : UISlider
sp_ : UIStepper
sg_ : UISegmentedControl
pg_ : UIPageControl
dp_ : UIDatePicker

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top