لفترة وجيزة حول التسمية في JS

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

تسمية الكيان


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

هناك أشكال نحوية مختلفة للأسماء ، وهناك الكثير منها ، وبعضها لم يعد قيد الاستخدام. فيما يلي أكثرها شيوعًا في js:

  • تدوين الجمل (CamelCase): MyClass
  • Snake_case: my_const
  • تدوين الشواء (حالة الكباب): بياناتي

عند اختيار حالة ، من المهم مراعاة المعيار المقبول حاليًا. في js اليوم ، لا يتم قبول snake_case و kebab-case ، ولكن يمكن العثور عليها على سبيل المثال في Python أو Ruby .

معرفات حرف واحد


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

ترجم في الاسم


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

تسمية المتغيرات والفئات


تتم تسمية المتغيرات في lower camelCase:

const maxCount = 10;

يتم تسمية الفئات في CamelCase:

class EnumerableCollection {
//some code
}

أجراءات


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

const checkNumberIsEven = (number) => (number % 2 === 0);

checkNumberIsEvenاسم جيد. من الواضح على الفور أن الوظيفة تتحقق من الرقم من أجل التكافؤ.

أيضًا اسم جيد isEven - إذا كانت هذه الوظيفة موجودة في أي /helpers/number.js ، فحتى هذا الاسم المختصر أكثر من كافٍ ، لأن يخبرنا الدليل نفسه أنه يحتوي على وظائف للعمل مع الأرقام. (ولكن حتى هنا يمكنك استخدام الخيار الأول ، لأن الملف الذي يستخدم هذه الوظيفة يمكن أن يحتوي على الكثير من التعليمات البرمجية ، ويمكن أن يكون الاستدعاء في مكان ما في الوسط.)

الوظائف بعيدة عن الأفعال دائمًا ، من المهم أيضًا فهم ذلك.
على سبيل المثال،

const arifmeticalProgression = (start, depth, maxLength = 10) => {
  const progression = [start];
  const iter = (acc) => {
    if (acc.length >= maxLength) {
      return acc;
    }
    const newIndex = acc.length;
    const newItem = start + newIndex * depth;
    const newProgresion = [].concat(acc, newItem);
    return iter(newProgresion);
  };
  return iter(progression);
};

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

const defaultCollection = () => ([]);

المسندات


أعلاه ناقشنا الوظيفة

const checkNumberIsEven = (number) => (number % 2 === 0);

يسمى هذا النوع من الوظائف المسند. المسند عبارة عن شيء ما. ما يسمى الدالات تعمل الشيكات "الجوهر هو شيء". إرجاع مسند البرمجة دائمًا قيمة منطقية.

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

const isEven = (number) => (number % 2 === 0);

تحدد بعض المسندات حدوث (وجود) العنصر المطلوب (خاصية أو طريقة أو عنصر) في الكيان. مثل المسندات. عادة ما يبدأ الفعل الإنجليزي به (الفعل الفردي للفرد الثالث لديه ). على سبيل المثال ، Object.prototype.hasOwnPropertyقد يبدو النموذج الآمن كما يلي:

const hasProp = (obj, key) => (Object.prototype.hasOwnProperty.call(obj, key));

إذا كان الكيان عبارة عن كمية من شيء ما ، فعليك استخدام الكلمة count في الاسم.

All Articles