سؤال

ما هي الأحرف الصالحة في اسم فئة Java؟ما هي القواعد الأخرى التي تحكم أسماء فئات Java (على سبيل المثال، لا يمكن أن تبدأ أسماء فئات Java برقم)؟

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

المحلول

يمكن أن يكون لديك أي حرف تقريبًا، بما في ذلك معظم أحرف Unicode!التعريف الدقيق موجود في مواصفات لغة Java ضمن القسم 3.8:معرفات.

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

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

لا يمكن أن يحتوي المعرف على نفس التهجئة (تسلسل أحرف Unicode) ككلمة رئيسية (§3.9)، أو حرفي منطقي (§3.10.3)، أو حرفي فارغ (§3.10.7)، أو يحدث خطأ في وقت الترجمة.

ومع ذلك، انظر هذا السؤال لمعرفة ما إذا كان يجب عليك القيام بذلك أم لا.

نصائح أخرى

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

  • أسماء المتغيرات حساسة لحالة الأحرف.يمكن أن يكون اسم المتغير أي معرف قانوني — تسلسل غير محدود الطول من أحرف وأرقام Unicode، يبدأ بحرف، أو علامة الدولار "$"، أو الشرطة السفلية "_".ومع ذلك، فإن التقليد هو أن تبدأ دائمًا أسماء المتغيرات الخاصة بك بحرف، وليس "$" أو "_".بالإضافة إلى ذلك، حرف علامة الدولار، وفقًا للاتفاقية، لا يتم استخدامه مطلقًا.قد تجد بعض المواقف التي تحتوي فيها الأسماء التي يتم إنشاؤها تلقائيًا على علامة الدولار، ولكن يجب دائمًا تجنب استخدام أسماء المتغيرات الخاصة بك.يوجد اصطلاح مماثل لحرف الشرطة السفلية؛على الرغم من أنه من القانوني تقنيًا أن تبدأ اسم المتغير الخاص بك بـ "_"، إلا أنه لا يُنصح بهذه الممارسة.المساحة البيضاء غير مسموح بها.

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

  • إذا كان الاسم الذي اخترته يتكون من كلمة واحدة فقط، فقم بتهجئة تلك الكلمة بأحرف صغيرة كلها.إذا كانت تتكون من أكثر من كلمة واحدة، قم بكتابة الحرف الأول من كل كلمة لاحقة بحرف كبير.تعتبر الأسماء gearRatio وcurrentGear من الأمثلة الرئيسية على هذه الاتفاقية.إذا كان المتغير الخاص بك يخزن قيمة ثابتة، مثل static final int NUM_GEARS = 6, ، يتغير الاصطلاح قليلاً، حيث يتم كتابة كل حرف بالأحرف الكبيرة وفصل الكلمات اللاحقة بحرف الشرطة السفلية.وفقًا للاتفاقية، لا يتم استخدام حرف الشرطة السفلية أبدًا في أي مكان آخر.

من دروس جافا الرسمية.

بالإضافة إلى الإجابات السابقة تجدر الإشارة إلى ما يلي:

  1. تسمح Java بأي رمز عملة Unicode في أسماء الرموز، لذا سيعمل ما يلي:

$ var1 £ var2 € var3

أعتقد أن استخدام رموز العملات ينشأ في لغة C/C++، حيث تبدأ المتغيرات المضافة إلى التعليمات البرمجية الخاصة بك بواسطة المترجم تقليديًا بـ "$".أحد الأمثلة الواضحة في Java هو أسماء ملفات ".class" للفئات الداخلية، والتي يكون تنسيقها تقليديًا "Outer$Inner.class".

  1. يتبنى العديد من مبرمجي C# وC++ التقليد المتمثل في وضع "I" أمام الواجهات (المعروفة أيضًا باسم الفئات الافتراضية الخالصة في C++).هذا غير مطلوب، وبالتالي لم يتم تنفيذه، في Java لأن الكلمة الأساسية للتنفيذ توضح تمامًا عندما يكون هناك شيء ما عبارة عن واجهة.

يقارن:

موظف الطبقة :IPayable العام //C++

مع

موظف الطبقة :IPayable //C#

و

فئة الموظف تنفذ الدفع //Java

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

راتب خاص مزدوج؛

أقلية صغيرة تضع الشرطة السفلية بعد اسم الحقل على سبيل المثال.

راتب خاص مزدوج_؛

كما ذكر جيسون كوهين سابقًا، تحدد مواصفات لغة Java المعرف القانوني في القسم 3.8:

"المعرف هو تسلسل غير محدود من خطابات Java وأرقام Java ، ويجب أن يكون أولها خطاب Java.[...] "حرف Java" هو حرف تُرجع له الطريقة Character.isJavaIdentifierStart(int) صحيحًا."حرف أو رقم Java" هو حرف تُرجع له الطريقة Character.isJavaIdentifierPart(int) صحيحًا."

نأمل أن يجيب هذا على سؤالك الثاني.بخصوص سؤالك الأول؛لقد تعلمت من قبل المعلمين و(بقدر ما أستطيع أن أتذكر) مترجمي Java أن اسم فئة Java يجب أن يكون معرفًا يبدأ بحرف كبير من A إلى Z، لكن لا يمكنني العثور على أي مصدر موثوق في هذا الشأن.عند تجربته مع OpenJDK، لا توجد تحذيرات عند بدء أسماء الفئات بأحرف صغيرة أو حتى بعلامة $.عند استخدام علامة $-sign، يتعين عليك الهروب منها إذا قمت بالتجميع من bash Shell.

أود أن أضيف إلى إجابة bosnic أن أي حرف عملة صالح يعد قانونيًا لمعرف في Java.th€is هو معرف قانوني، كما هو الحال مع €this، و€ أيضًا.ومع ذلك، لا أستطيع معرفة كيفية تعديل إجابته، لذلك أنا مجبر على نشر هذه الإضافة التافهة.

ما هي القواعد الأخرى التي تحكم أسماء فئات Java (على سبيل المثال، لا يمكن أن تبدأ أسماء فئات Java برقم)؟

  • تبدأ أسماء فئات Java عادةً بحرف كبير.
  • لا يمكن أن تبدأ أسماء فئات Java برقم.
  • إذا كان هناك كلمات متعددة في اسم الفئة مثل "MyClassName"، فيجب أن تبدأ كل كلمة بحرف كبير.على سبيل المثال- "MyClassName". ويستند اصطلاح التسمية هذا على CamelCase يكتب.

يجب أن تكون أسماء الفئات أسماء في UpperCamelCase، مع كتابة الحرف الأول من كل كلمة بأحرف كبيرة.استخدم كلمات كاملة - تجنب الاختصارات والمختصرات (ما لم يكن الاختصار مستخدمًا على نطاق أوسع بكثير من النموذج الطويل، مثل URL أو HTML).يمكن قراءة اصطلاحات التسمية هنا:

http://www.Oracle.com/technetwork/Java/codeconventions-135099.html

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

AvgTemp، العد a4، $test، this_is_ok

تتضمن أسماء المتغيرات غير الصالحة ما يلي:

عدد 2، درجة حرارة عالية، لا/موافق

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