ForHosting KIT · أدوات المطورين

حساب أسطر الكود والتعليقات والأسطر الفارغة

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

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
اللغة
Javascript
تحصل على
إجمالي الأسطر
6
الأسطر الفارغة
1
أسطر التعليقات
1
أسطر الشيفرة
4

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

اختاروا اللغة وحافظوا على نص المصدر

أرسلوا الكود كما هو واختاروا لغته من القائمة المدعومة. الاختيار مهم لأن الرموز نفسها تختلف دلالتها بين البيئات: تبدأ علامة المربع تعليقاً في Python وshell، ويبدأ خطان مائلان تعليقاً في JavaScript وJava، وتستخدم SQL شرطتين، بينما تستخدم HTML علامتين متقابلتين. يطبق العداد جدول اللغة المختارة ولا يخمن من اسم الملف أو محتواه.

تفصل LF وCRLF وعلامة رجوع العربة المنفردة بين الأسطر. ينشئ فاصل نهائي سطراً فعلياً فارغاً، وتمثل السلسلة الفارغة سطراً فارغاً كذلك. لا تحذفوا التعليقات أو تقصوا النص إن كنتم تريدون قياس هذه التفاصيل.

تعيد اللغة غير المدرجة خطأ إدخال بدلاً من تطبيق قاعدة عامة مضللة.

افهموا كيفية تصنيف كل سطر

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

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

يتابع الماسح علامات الاقتباس المفردة والمزدوجة والخلفية ومحارف الهروب. لذلك يبقى عنوان URL الذي يحوي خطين مائلين أو سلسلة فيها علامة مربع كوداً. القياس للأسطر الفعلية لا للتعليمات؛ فتعليمات متعددة في سطر واحد تظل سطر كود واحداً.

استخدموا المجاميع وفق معيار ثابت

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

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

إعداد جرد للمستودع

صنفوا ملفات المصدر واجمعوا أعداداً متسقة للكود والتعليقات والأسطر الفارغة في تقرير داخلي.

تقدير نطاق الترحيل

قارنوا الحجم الفعلي للمكونات المختارة قبل التخطيط لتغيير اللغة أو إطار العمل.

متابعة تغيرات الكود المولد

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

هل يحسب السطر الذي يجمع الكود وتعليقاً نهائياً مرتين؟

لا. يحسب مرة واحدة كسطر كود، وبذلك تظل جميع الفئات متنافية.

هل تعامل علامات التعليق داخل السلاسل كتعليقات؟

لا. تظل العلامات داخل السلاسل المقتبسة المعروفة جزءاً من الكود.

كيف تحسب تعليقات الكتلة الممتدة على أسطر؟

تحسب الأسطر التي تحتوي الكتلة وحدها تعليقات؛ والسطر الذي يحتوي كوداً أيضاً يحسب كوداً.

هل تتعرف الأداة على لغة البرمجة تلقائياً؟

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

هل يُحسب السطر الجديد في نهاية النص سطراً فارغاً؟

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

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

POSThttps://api.kit.forhosting.com/dev2/count-lines-of-code

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev2/count-lines-of-code \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"function add(a, b) {\n  // Return the sum\n  return a + b;\n}\n","language":"javascript"}'
{
  "text": "function add(a, b) {\n  // Return the sum\n  return a + b;\n}\n",
  "language": "javascript"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.count_lines_of_code",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

استخدموا المجاميع وفق معيار ثابت

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

ما تكلفة عملية العد الواحدة؟

تكلف كل مطالبة API مقدار $0.002. ويمكن للمتصفح تشغيل المنطق الحتمي نفسه محلياً.

ماذا يحدث عندما تكون اللغة غير معروفة؟

تعيد القدرة خطأ invalid_input يوضح أن اللغة غير معروفة بدلاً من تخمين قواعدها.

اطّلع على توثيق KIT الكامل ←