আপনি কি গিটহাব সংগ্রহশালা থেকে কোডের রেখার সংখ্যা পেতে পারেন?


415

গিটহাবের সংগ্রহশালায় আপনি "ভাষার পরিসংখ্যান" দেখতে পাবেন, যা কোনও ভাষায় লেখা প্রকল্পের শতাংশ দেখায় । এটি প্রজেক্টের কতটি লাইন কোড নিয়ে গঠিত তা প্রদর্শন করে না। প্রায়শই, আমি দ্রুত কোনও প্রকল্পের স্কেল এবং জটিলতার একটি ধারণা পেতে চাই এবং কোড লাইন গণনা একটি ভাল প্রথম ছাপ দিতে পারে। 500 লাইনের কোড একটি অপেক্ষাকৃত সহজ প্রকল্প বোঝায়, 100,000 লাইন কোড একটি খুব বড় / জটিল প্রকল্পকে বোঝায়।

সুতরাং, গিটহাব সংগ্রহশালা থেকে বিভিন্ন ভাষায় কোডের লাইনগুলি অগ্রাধিকার হিসাবে ক্লোনিং না করে পাওয়া সম্ভব?


প্রশ্ন " একটি Git সংগ্রহস্থলের মধ্যে লাইনের সংখ্যা গণনা " কিভাবে একটি স্থানীয় গীত সংগ্রহস্থলের মধ্যে কোড লাইনের গণনা, কিন্তু জিজ্ঞেস করল:

  1. আপনাকে প্রকল্পটি ক্লোন করতে হবে, যা বিশাল আকার ধারণ করতে পারে। ওয়াইন এর মতো একটি প্রকল্প ক্লোনিং করা উদাহরণস্বরূপ, যুগে যুগে লাগে।
  2. আপনি ফাইলগুলিতে লাইনগুলি গণনা করবেন যা i13n ফাইলের মতো অগত্যা কোড হবে না।
  3. আপনি যদি কেবল রুবি ফাইলগুলি গণনা করেন তবে আপনি জাভাস্ক্রিপ্টের মতো অন্যান্য ভাষায়ও প্রচুর পরিমাণে কোড মিস করতে পারেন। প্রকল্পটি কোন ভাষা ব্যবহার করে তা আপনাকে আগেই জানতে হবে। প্রকল্পটি যে ভাষা ব্যবহার করে সেগুলির জন্য আপনাকে গণনাও পুনরাবৃত্তি করতে হবে।

সর্বোপরি, "দ্রুত কোনও প্রকল্পের স্কেল চেক করার জন্য" এটি সম্ভাব্য অনেক বেশি সময়-নিবিড়।


4
@ শ্যাওয়ার্ন: সত্যিই সে সম্পর্কে ভাবেনি। আমি মনে করি মাস্টার শাখার সর্বশেষ প্রতিশ্রুতিবদ্ধ।
হুব্রো

8
@ অ্যাবিজার্ন: কোনও প্রশ্ন বন্ধ করার জন্য এটি কি বৈধ কারণ? আমি গাইডলাইনে এটি সন্ধান করার চেষ্টা করছি । আমার পরিকল্পনা ছিল প্রথমে এসওকে জিজ্ঞাসা করা। যদি তা নিরর্থক প্রমাণিত হয়, আমি গিথুব গ্রাহক সমর্থন জিজ্ঞাসা করব এবং উত্তর হিসাবে তাদের তথ্য এখানে পোস্ট করুন।
হুব্রো

7
@ অ্যাবিজার্ন: অন ​​টপিক দেখুন । এটিতে আপনি "প্রোগ্রামারদের দ্বারা সাধারণত ব্যবহৃত সফ্টওয়্যার সরঞ্জাম" সম্পর্কে প্রশ্ন জিজ্ঞাসা করতে পারেন।
হুব্রো

1
@ হুব্রো 1 আমি এর সাথে সমাধান করেছি git clone --depth 1। 2 এবং 3 হিসাবে, আমার সন্দেহ আছে যে সেখানে কোনও সফ্টওয়্যার রয়েছে যা আপনার জন্য বিশ্লেষণ করতে পারে এবং আপনি ফাইল এক্সটেনশনের উপর ভিত্তি করে অনেক অনুমান করতে পারেন, তবে আমি একটি ভাল অনুসন্ধানের সাথে আগত একটি সময় নরক করছি having টার্মটি সফটওয়্যার সন্ধান করতে। হতে পারে আপনার আর একটি প্রশ্ন জিজ্ঞাসা করা দরকার।
শোয়ার্ন

1
Codetabs.com/count-loc/count-loc-online.html এ একটি অনলাইন সরঞ্জাম রয়েছে , এটি কোনও ভাল কিনা চেষ্টা করে দেখেনি
টিজিআর

উত্তর:


298

একটি শেল স্ক্রিপ্ট, cloc-git

আপনি এই শেল স্ক্রিপ্টটি একটি কমান্ডের সাহায্যে দূরবর্তী গিট সংগ্রহস্থলের রেখার সংখ্যা গণনা করতে ব্যবহার করতে পারেন:

#!/usr/bin/env bash
git clone --depth 1 "$1" temp-linecount-repo &&
  printf "('temp-linecount-repo' will be deleted automatically)\n\n\n" &&
  cloc temp-linecount-repo &&
  rm -rf temp-linecount-repo

স্থাপন

এই স্ক্রিপ্টটির জন্য সিএলওসি ("কোডের লাইন গণনা করুন") ইনস্টল করা দরকার। cloc- উদাহরণস্বরূপ, সম্ভবত আপনার প্যাকেজ ম্যানেজার দিয়ে ইনস্টল করা যাবে brew install clocসঙ্গে Homebrew । এর অধীনে একটি ডকার চিত্র প্রকাশিত হয়েছেmribeiro/cloc

আপনি একটি ফাইল তার কোড সংরক্ষণ করে স্ক্রিপ্ট ইনস্টল করতে পারেন cloc-git, দৌড়ানো chmod +x cloc-git, এবং তারপর আপনার একটি ফোল্ডার ফাইল চলন্ত $PATHযেমন /usr/local/bin

ব্যবহার

স্ক্রিপ্টটিতে একটি যুক্তি লাগে যা কোনও ইউআরএল git cloneতা গ্রহণ করবে। উদাহরণগুলি হল https://github.com/evalEmpire/perl5i.git(এইচটিটিপিএস) বা git@github.com:evalEmpire/perl5i.git(এসএসএইচ)। আপনি "ক্লোন বা ডাউনলোড" ক্লিক করে যে কোনও গিটহাব প্রকল্প পৃষ্ঠা থেকে এই URL টি পেতে পারেন।

উদাহরণ আউটপুট:

$ cloc-git https://github.com/evalEmpire/perl5i.git
Cloning into 'temp-linecount-repo'...
remote: Counting objects: 200, done.
remote: Compressing objects: 100% (182/182), done.
remote: Total 200 (delta 13), reused 158 (delta 9), pack-reused 0
Receiving objects: 100% (200/200), 296.52 KiB | 110.00 KiB/s, done.
Resolving deltas: 100% (13/13), done.
Checking connectivity... done.
('temp-linecount-repo' will be deleted automatically)


     171 text files.
     166 unique files.                                          
      17 files ignored.

http://cloc.sourceforge.net v 1.62  T=1.13 s (134.1 files/s, 9764.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Perl                           149           2795           1425           6382
JSON                             1              0              0            270
YAML                             2              0              0            198
-------------------------------------------------------------------------------
SUM:                           152           2795           1425           6850
-------------------------------------------------------------------------------

বিকল্প

কমান্ডগুলি ম্যানুয়ালি চালান

আপনি যদি শেল স্ক্রিপ্টটি সংরক্ষণ এবং ইনস্টল করতে বিরত না চান তবে আপনি কমান্ডগুলি ম্যানুয়ালি চালাতে পারেন। একটি উদাহরণ:

$ git clone --depth 1 https://github.com/evalEmpire/perl5i.git
$ cloc perl5i
$ rm -rf perl5i

ভাষাবিৎ

আপনি ফলাফল ঠিক GitHub এর ভাষাটি শতকরা মেলে চান, আপনি ইনস্টল করার চেষ্টা করতে পারেন ভাষাবিদ পরিবর্তে CLOCএর README অনুসারে আপনাকে gem install linguistচালানো দরকার এবং তারপরে চালানো উচিত linguist। আমি এটি কাজ করতে পারিনি ( সমস্যা # 2223 )।


6
মূল প্রশ্নটি রেপো ক্লোনিং ছাড়াই নির্দিষ্ট করা হয়েছে।
লিনাকসদান

12
@linuxdan আমার স্ক্রিপ্ট পুরো রেপো ক্লোন করে না; এটি --depth 1কেবলমাত্র সাম্প্রতিক প্রতিশ্রুতি ডাউনলোড করতে যায় । বেশিরভাগ repos এর জন্য, এটি ক্লোনিং সম্পর্কে খুব বেশি সময় ব্যয় করার বিষয়ে মূল প্রশ্নের উদ্বেগকে এড়িয়ে চলে।
ররি ও'কেনে

2
মানুষ, এই আশ্চর্যজনকভাবে কাজ করে! সর্বদা ভাবতাম, আমি
কয়টি

@ ররিও'কেইন আমরা clocএকটি গিথুব সংগ্রহস্থলে কোডের লাইনগুলি আমাদের মেশিনে রেপো ক্লোনিং করে (অনলাইনের মাধ্যমে) পেতে ব্যবহার করতে পারি । উপরোক্ত প্রদত্ত cloc-gitপ্রথম ক্লোনগুলি লাইনের সংখ্যা গণনা শুরু করার আগে প্রকল্পের জন্য
কাসুন সায়াম্বলপিতীয়া

@ কাসুনসিয়াম্বলপিতিয়া দুঃখিত, আমি আপনার জন্য চালানো কোনও অনলাইন ওয়েবসাইট সম্পর্কে জানি না clocclocকোডে লাইন গণনা করার জন্য , আপনার কম্পিউটারকে কেবলমাত্র অস্থায়ীভাবে এই কোডটি ডাউনলোড করতে হবে। মনে রাখবেন যে এমনকি ওয়েব ব্রাউজারগুলি ওয়েব পৃষ্ঠাগুলি দেখার সময় প্রযুক্তিগতভাবে ডাউনলোড করছে; তারা কেবল তাদের ডিস্কের পরিবর্তে মেমোরিতে সংরক্ষণ করে।
ররি ও'কেনে

225

আপনি কিছু চালাতে পারেন

git ls-files | xargs wc -l

যা আপনাকে মোট গণনা দেবে →

কোড লাইন

অথবা এই সরঞ্জামটি ব্যবহার করুন → http://line-count.herokuapp.com/


8
প্রশ্নের সংক্ষিপ্ত উত্তর (গিথুব ব্যবহার করে এই সংখ্যাটি সন্ধান করা) হ'ল না Your
বার্নার্ড

32
আপনি ফিল্টার, যেমন, পাইথন কোডে চাইলে: git ls-files | grep '\.py' | xargs wc -l
ফিলিপ এসএস স্নাইডার

3
আমি করছিলাম xargsকরার wc -lসব ফাইল নিজে তারপর ব্যবহার awkকলাম যোগফল করতে, OMG এর এই এত সহজ।
sdkks

1
এই সহজ পদ্ধতির মধ্যে ফাইলগুলিতে মন্তব্য অন্তর্ভুক্ত রয়েছে। মন্তব্য এবং ফাঁকা লাইন সর্বদা "কোডের লাইন" হিসাবে বিবেচিত হয় না।
মার্ক স্টসবার্গ

2
ঠিক আছে, ডকুমেন্টেশন কোডের একটি বিশাল অংশ। আপনি মন্তব্যগুলি সরিয়ে দিলে আপনি সত্যই রেখাটি কোথায় আঁকবেন। প্যারামগুলির মতো কোড সম্পর্কিত তথ্য, পরবর্তী লাইনের জন্য ESLint অক্ষম করে এমন মন্তব্যগুলির বিষয়ে কী - কিছু কোডের পরে ৮০% মন্তব্য করা লাইনের বিষয়ে কী। আমি এই যেখানে যাচ্ছি দেখুন।
আহমদ আওইস

128

গুগল ক্রোম ব্রাউজারের জন্য একটি এক্সটেনশান রয়েছে - জিওএলসি যা সরকারী এবং বেসরকারী ভাণ্ডারের জন্য কাজ করে।

কোন প্রকল্পের কোডের লাইন সংখ্যা গণনা করে:

  • প্রকল্পের বিশদ পৃষ্ঠা
  • ব্যবহারকারীর সংগ্রহস্থল
  • সংস্থা পৃষ্ঠা
  • অনুসন্ধান ফলাফল পৃষ্ঠা
  • ট্রেন্ডিং পৃষ্ঠা
  • পৃষ্ঠা অন্বেষণ করুন

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


3
যদিও এটি ব্যক্তিগত সংগ্রহস্থলগুলির জন্য কাজ করে না বলে মনে হচ্ছে
মিশেল মাইকেলাইলিস

4
@ মিচাইলমিচাইলিডিস আপনার পরামর্শের জন্য আপনাকে ধন্যবাদ আমি এটা ঠিক করব.
আর্টেম সলোভভ

4
@ টিউরাস আমার মন্তব্যটি সিআর হিসাবে বোঝানো হয়নি - একটি ব্যবহারযোগ্যতার দিক থেকে গ্রেডিয়েন্টটি কাজটি করে (আপনি যে কারণে উল্লেখ করেছেন) আমি বোঝাতে চেয়েছি যে আমি নির্বাচিত রঙের অনুরাগী নই তবে এটি কেবল আমার (বিষয়গত) মতামত। চিয়ার্স :)
tech4242

2
নিখুঁতভাবে কয়েক সপ্তাহের মধ্যে
আর্টেম সলোভভ

2
@hellyale এটি প্রাইভেট रिपোর জন্যও কাজ করে। আপডেট এক্সটেনশন। ব্যবহার করার মতো আরও নতুন বৈশিষ্ট্য রয়েছে
আর্টেম সলোভেভ

70

আপনি যদি গ্রাফগুলি / অবদানকারীদের পৃষ্ঠায় যান, আপনি রেপোতে সমস্ত অবদানকারীদের তালিকা এবং তারা কতগুলি লাইন যুক্ত এবং সরিয়েছেন তা দেখতে পাবেন।

আমি যদি কিছু অনুপস্থিত না করি, সমস্ত অবদানকারীদের মধ্যে যোগ করা লাইনের সমষ্টি সংখ্যা থেকে মুছে ফেলা সামগ্রিক সংখ্যার বিয়োগ করলে রেপোতে কোডের মোট লাইন সংখ্যা পাওয়া উচিত। (সম্পাদনা: দেখা যাচ্ছে আমি সর্বোপরি কিছু অনুপস্থিত ছিলাম। বিশদগুলির জন্য অরবিটবটের মন্তব্যটি একবার দেখুন)

হালনাগাদ:

এই ডেটা এছাড়াও GitHub এর পাওয়া যায় এপিআই । সুতরাং আমি ডেটা আনার এবং গণনাটি করার জন্য একটি দ্রুত স্ক্রিপ্ট লিখেছিলাম:

'use strict';

function countGithub(repo) {
fetch('https://api.github.com/repos/'+repo+'/stats/contributors')
    .then(response => response.json())
    .then(contributors => contributors
        .map(contributor => contributor.weeks
            .reduce((lineCount, week) => lineCount + week.a - week.d, 0)))
    .then(lineCounts => lineCounts.reduce((lineTotal, lineCount) => lineTotal + lineCount))
    .then(lines => window.alert(lines));
}

countGithub('jquery/jquery'); // or count anything you like

এটি কেবল একটি Chrome DevTools স্নিপেটে পেস্ট করুন, রেপো পরিবর্তন করুন এবং রান ক্লিক করুন।

দাবি অস্বীকার ( লোভাসোয়া ধন্যবাদ ):

এই পদ্ধতির ফলাফলগুলিতে লবণের দানা দিয়ে নিন, কারণ কিছু রেপুরের জন্য (sorich87 / বুটস্ট্র্যাপ-ট্যুর) এর ফলে নেতিবাচক মান পাওয়া যায়, যা গিটহাবের এপিআই থেকে ফিরে আসা ডেটাতে কিছু ভুল আছে তা বোঝায়।

হালনাগাদ:

মোট লাইনের সংখ্যা গণনা করার মতো পদ্ধতিটি সম্পূর্ণ নির্ভরযোগ্য নয়। কটাক্ষপাত orbitbot এর মন্তব্য বিস্তারিত জানার জন্য।


ঠিক। তবে কিছু ক্ষেত্রে যেখানে প্রকল্পটি একটি বৃহত ওপেন-সোর্স সম্প্রদায় প্রকল্প, এই ধরণের গণনা সম্ভব নয়।
খোলামেলা

নিঃসন্দেহে যাইহোক, এই ডেটা GitHub এর পাওয়া যায় এপিআই , তাই আপনি চমত্কার সহজে লাইন মোট সংখ্যা গণনা করার জন্য একটি স্ক্রিপ্ট লিখতে পারেন। আমি স্রেফ লিখেছিলাম এমন একটি দ্রুত স্ক্রিপ্টের সাথে আমার উত্তর আপডেট করেছি।
লুইস 21

কোড_ফ্রেয়কি এপিআই ব্যবহার করা আরও সহজ হবে। প্রদান করা হচ্ছে: fetch("https://api.github.com/repos/jquery/jquery/stats/code_frequency").then(x=>x.json()).then(x=>alert(x.reduce((total,changes)=>total+changes[1]+changes[2],0)))
লোভাসোয়া

হুমম ... আকর্ষণীয়: সোরিচ ৮ / / বুটস্ট্র্যাপ-ট্যুরে আপনার কোডটি পরীক্ষা করুন। ফলাফল নেতিবাচক।
lovasoa

3
@ লুইস আমি মনে করি আপনি যে প্রতিশ্রুতিতে যুক্ত / সরানো লাইনগুলি অন্য কমিটের মত একই হতে পারে, শাখাগুলি মার্জ করার সময় একই হতে পারে যা এখনও সামগ্রিক হিসাবে গণনা করা হয়। অতিরিক্ত হিসাবে, ব্যবহারকারী প্রোফাইলগুলির জন্য গিথুব অবদানের পরিসংখ্যানগুলি কেবলমাত্র ডিফল্ট শাখা বা জিএইচ-পৃষ্ঠা থেকে গণনা করা হয়, সুতরাং কমিট / লাইন পরিসংখ্যানগুলির জন্য অনুরূপ কিছু ঘটতে পারে: help.github.com/articles/… । এছাড়াও নোট করুন যে ব্যবহারকারীর প্রোফাইলের পরিসংখ্যানগুলি কেবল পূর্ববর্তী বছর গণনা করে তবে আমি মনে করি যে গ্রাফ পৃষ্ঠায় প্রতিশ্রুতিবদ্ধ পরিসংখ্যান স্থায়ী।
অরবিটবট

38

আপনি শুধুমাত্র সাম্প্রতিক ব্যবহার কমিট ক্লোন করতে পারেন git clone --depth 1 <url>এবং তারপর ব্যবহার করে নিজস্ব বিশ্লেষণ সঞ্চালন ভাষাবিদ , একই সফ্টওয়্যার গিটহাব ব্যবহারসমূহ। আমি জানি যে একমাত্র উপায় আপনি কোড লাইন পেতে চলেছেন ।

আরেকটি বিকল্প হ'ল প্রকল্পটি যে ভাষাগুলি ব্যবহার করে তা তালিকার জন্য API ব্যবহার করা । এটি লাইনে কিন্তু বাইটগুলিতে দেয় না। উদাহরণ স্বরূপ...

$ curl https://api.github.com/repos/evalEmpire/perl5i/languages
{
  "Perl": 274835
}

যদিও এটি একটি নুনের দানার সাথে নিয়ে যান, সেই প্রকল্পে ওয়াইএএমএল এবং জেএসওএন অন্তর্ভুক্ত থাকে যা ওয়েবসাইটটি স্বীকার করে তবে এপিআই তা স্বীকার করে না।

শেষ অবধি, কোন ফাইল কোনও প্রদত্ত ভাষার সাথে মেলে তা জিজ্ঞাসা করার জন্য আপনি কোড অনুসন্ধান ব্যবহার করতে পারেন । এই উদাহরণটি জানায় যে পার্ল 5i তে কোন ফাইলগুলি পার্ল। https://api.github.com/search/code?q=language:perl+repo:evalEmpire/perl5i। এটি আপনাকে লাইন দেবে না এবং urlপ্রতিটি ফাইলের জন্য রিটার্ন ব্যবহার করে আপনাকে পৃথকভাবে ফাইলের আকার জিজ্ঞাসা করতে হবে।


শীতল, সে সম্পর্কে জানতাম না। যদিও আপনি নিশ্চিত করতে পারেন যে এটি গিথুব ওয়েবসাইটে করা যায় না, তবে?
হুব্রো

আমি এটি নিশ্চিত করতে পারছি না, তবে আমি এপিআই বা গিথুব ওয়েবসাইটে এমন কোনও কিছুই দেখতে পাচ্ছি না যা আপনাকে লাইন দেবে। এটি সব বাইট বা শতাংশ। ক্লোনিংয়ের পরিবর্তে এপিআইয়ের মাধ্যমে এটি করার আপনার যুক্তি কী?
শোয়ার্ন

ঠিক আছে, তথ্যের জন্য যদিও ধন্যবাদ। আমি গিথুবকে সমর্থন চাইব।
হুব্রো

ভাষাতত্ত্ববিদ দেখতে দুর্দান্ত লাগছে, তবে কোডের লাইনগুলি দেখানোর জন্য আপনি কীভাবে এটি পেয়েছেন ? দেখে মনে হচ্ছে এটি API এর মতোই ডিফল্টরূপে বাইটগুলি দেখায়।
হুব্রো

@ হুব্রো ডান্নো, আপনাকে এটি প্যাচ করতে হতে পারে।
শোওয়ার্ন

33

Github.com বা তাদের এপিআই-তে বর্তমানে সম্ভব নয়

আমি গ্রাহক সমর্থনের সাথে কথা বলেছি এবং নিশ্চিত করেছি যে এটি github.com এ করা যায় না। তারা যদিও গিথুব দলের সাথে পরামর্শটি পাশ করেছে, তাই আশা করি ভবিষ্যতে এটি সম্ভব হবে। যদি তা হয় তবে আমি এই উত্তরটি সম্পাদনা করতে ভুলবেন না।

এদিকে, ররি ওকেনের উত্তর ভিত্তিক একটি উজ্জ্বল বিকল্প clocএবং অগভীর রেপো ক্লোন।


2
সরাসরি নয়, তবে তাদের পরিসংখ্যান এপিআইতে আপনার নিজের এটি গণনা করার জন্য প্রয়োজনীয় সমস্ত ডেটা রয়েছে। এটির একটি দ্রুত স্ক্রিপ্টের জন্য নীচে আমার উত্তরটি দেখুন ।
লুইস

12

আপনি নিম্নলিখিত ফাংশনের মতো স্লোক পেতে গিটহাব এপিআই ব্যবহার করতে পারেন

function getSloc(repo, tries) {

    //repo is the repo's path
    if (!repo) {
        return Promise.reject(new Error("No repo provided"));
    }

    //GitHub's API may return an empty object the first time it is accessed
    //We can try several times then stop
    if (tries === 0) {
        return Promise.reject(new Error("Too many tries"));
    }

    let url = "https://api.github.com/repos" + repo + "/stats/code_frequency";

    return fetch(url)
        .then(x => x.json())
        .then(x => x.reduce((total, changes) => total + changes[1] + changes[2], 0))
        .catch(err => getSloc(repo, tries - 1));
}

ব্যক্তিগতভাবে আমি একটি ক্রোম এক্সটেনশন তৈরি করেছি যা গিথুব প্রকল্পের তালিকা এবং প্রকল্পের বিশদ পৃষ্ঠায় উভয়তেই এসএলওসি সংখ্যা দেখায়। আপনি ব্যক্তিগত সংগ্রহস্থলগুলি অ্যাক্সেস করতে আপনার ব্যক্তিগত অ্যাক্সেস টোকেন সেট করতে পারেন এবং এপিআই হারের সীমাটি বাইপাস করতে পারেন।

আপনি এখান থেকে ডাউনলোড করতে পারেন https://chrome.google.com/webstore/detail/github-sloc/fkjjjamhihnjmihibCmdnianbcbccpnn

উত্স কোডটি এখানে https://github.com/martianyi/github-sloc উপলভ্য


ক্রোম এক্সটেনশনের জন্য কীভাবে এসএলওসি নির্ধারণ করা হয়? সব ফাইল টাইপ? নির্দিষ্ট ডিরেক্টরি বাদ দিন?
ব্রেট রেইনহার্ড

@ ব্র্যাটরেইনহার্ড এটি প্রতি সপ্তাহে সংযোজন এবং মোছার সংখ্যার উপর ভিত্তি করে , আমি মনে করি এটিতে সমস্ত ফাইল রয়েছে।
ইয়ে কাই

এটি কি কেবল গত সপ্তাহের পরিবর্তনের সংখ্যাটি ফেরত দেয় না?
জোহানেস 'ফিশ' জিমকে

@ জোহানেস'ফিশ'জিমেক না, এটি প্রতি সপ্তাহে ফিরে আসে
ইয়ে কাই

11

ফায়ারফক্স অ্যাড অন গিথুব এসএলওসি

আমি একটি ছোট ফায়ারফক্স অ্যাডোন লিখেছি যা গিথুব প্রকল্পের পৃষ্ঠাগুলিতে কোডের লাইন সংখ্যা প্রিন্ট করে: গিথুব এসএলওসি


দুর্দান্ত প্লাগইন, খুব সহায়ক! আপনি কি জানেন যে এটি ব্যক্তিগত রেপোগুলির সাথে কাজ করা সম্ভব হয়? মনে হচ্ছে এটি কেবল পাবলিক স্টোরগুলিতে LOC দেখায়।
রোকোকো

লিঙ্কটি মারা গেছে এবং ম্যানুয়ালি অনুসন্ধানের পরে, মনে হচ্ছে, দুঃখের সাথে এই প্লাগইনটির আর অস্তিত্ব নেই।
ডিসিএসইভেন

ফায়ারফক্সের জন্যও জিওএলসি উপলব্ধ করার জন্য একটি অনুরোধ রইল, এবং বিকাশকারী এই ধারণাটি উন্মুক্ত বলে মনে হচ্ছে: github.com/artem-solovev/gloc/issues/23
miyalys

1
@ মিয়ালাইস এটি এখনই করা হয়েছে: addons.mozilla.org/en-US/firefox/addon/gloc
শাচাফ জোহর

7

যদি প্রশ্নটি হয় "আপনি কী দ্রুত গিথুব রেপোয়ের লাইন সংখ্যা লাইন পেতে পারেন ", অন্যান্য উত্তর দ্বারা বর্ণিত উত্তরটি কোনও হয় না।

তবে, যদি প্রশ্নটি হয় "আপনি কী কোনও প্রকল্পের এসসিএএল তাড়াতাড়ি পরীক্ষা করতে পারবেন ", আমি সাধারণত কোনও প্রকল্পের আকার দেখে গেজ করি। অবশ্যই আকারে সমস্ত সক্রিয় কমিটগুলি থেকে ডেল্টাস অন্তর্ভুক্ত থাকবে তবে প্রস্থের ক্রমটি বেশ কাছাকাছি হওয়ায় এটি একটি ভাল মেট্রিক।

যেমন

"ডকার" প্রকল্পটি কত বড়?

আপনার ব্রাউজারে, api.github.com/repos/ORG_NAME/PROJECT_NAME অর্থাৎ api.github.com/repos/docker/docker লিখুন

প্রতিক্রিয়া হ্যাশে আপনি আকারের বৈশিষ্ট্যটি খুঁজে পেতে পারেন:

{
    ...
    size: 161432,
    ...
}

এটি আপনাকে প্রকল্পের আপেক্ষিক স্কেল সম্পর্কে ধারণা দেয়। সংখ্যাটি কেবিতে মনে হচ্ছে, তবে আমি যখন এটি আমার কম্পিউটারে পরীক্ষা করেছি তখন এটি প্রকৃতপক্ষে ছোট, যদিও প্রস্থের ক্রমটি সামঞ্জস্যপূর্ণ। (161432 কেবি = 161 এমবি, ডু-এস-ড ডকার = 65 এমবি)


1
npm install sloc -g
git clone --depth 1 https://github.com/vuejs/vue/
sloc ".\vue\src" --format cli-table
rm -rf ".\vue\"

নির্দেশাবলী এবং ব্যাখ্যা

  1. এনপিএম থেকে স্লোক ইনস্টল করুন , একটি কমান্ড লাইন সরঞ্জাম ( নোড.জেএস ইনস্টল করা দরকার)।
npm install sloc -g
  1. ক্লোন অগভীর সংগ্রহস্থল (পূর্ণ ক্লোনার চেয়ে দ্রুত ডাউনলোড)।
git clone --depth 1 https://github.com/facebook/react/
  1. স্লোক চালান এবং বিশ্লেষণ করা উচিত সেই পথটি নির্দিষ্ট করুন।
sloc ".\react\src" --format cli-table

স্লোক আউটপুটটিকে একটি cli-table, হিসাবে jsonবা হিসাবে বিন্যাস করতে সহায়তা করে csv। ফাইল এবং ফোল্ডারগুলি বাদ দেওয়ার জন্য নিয়মিত এক্সপ্রেশন ব্যবহার করা যেতে পারে ( এনপিএম সম্পর্কিত আরও তথ্য )।

  1. সংগ্রহস্থল ফোল্ডার মুছুন (alচ্ছিক)

পাওয়ারশেল: rm -r -force ".\react\"বা ম্যাক / ইউনিক্সে:rm -rf ".\react\"

সম্পাদিত পদক্ষেপগুলির স্ক্রিনশট (ক্লিপ-সারণী):

অ্যাক্লি-টেবিল হিসাবে স্লোক আউটপুট

স্লোক আউটপুট (কোন যুক্তি নেই):

আর্গুমেন্ট ছাড়াই স্লোক আউটপুট


এটি আর। आर বা .আরএমডি
জাজাদ্রা

1

sortলাইন গণনা অনুযায়ী ফাইলগুলি সংগঠিত করতে প্রতিটি ফাইলের রেখার সংখ্যা থেকে আউটপুটটি পাইপ করুন । git ls-files | xargs wc -l |sort -n



0

টার্মিনালটি খুলুন এবং নিম্নলিখিতগুলি চালান:

curl https://api.codetabs.com/v1/loc?github=username/reponame
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.