কোডের গ্রহন গণনা লাইন


107

আমি মেট্রিক্স প্লাগইনটি চেষ্টা করেছি এবং যদিও এটি দুর্দান্ত এবং সব কিছু, তবে আমার বস যা খুঁজছেন তা তা নয়। এটি কেবল একটি রেখাকে একটি রেখার সাথে }গণনা করে এবং এটি চায় না যে এটি "এটি একটি লাইন নয়, এটি একটি শৈলীর পছন্দ" হিসাবে গণনা করে। সরবরাহিত মেট্রিক্স সম্পর্কে আমার কিছু ফর্ম প্রতিবেদন তৈরি করা দরকার। এর জন্য কি কোনও ভাল সরঞ্জাম আছে?


1
পার্শ্ব প্রশ্ন: আপনার সফ্টওয়্যার বিকাশকারীরা কতটা ভাল কাজ করছে তা দেখানোর জন্য কি এটি একটি মেট্রিক হিসাবে ব্যবহৃত হবে? যদি তাই চরিত্র / নন-হোয়াইটস্পেস গণনা ভাল হতে পারে। এমনকি এখনও এটি একটি সত্যই নির্বিচারে মেট্রিকের মতো বলে মনে হচ্ছে ... যেমন একটি বন্ধু বলেছে: "সাধারণভাবে কোনও সমস্যা সমাধানের জন্য কোডের আরও লাইন একই সমস্যাটি সমাধান করার জন্য কোডের কম লাইনগুলির চেয়ে ভাল (বা আরও খারাপ) নয়"
সানকারন

উত্তর:


93

ইলিপস মেট্রিক্স প্লাগইন ইনস্টল করুন । এইচটিএমএল প্রতিবেদন তৈরি করতে (Xচ্ছিক এক্সএমএল এবং সিএসভি সহ) right-click a project -> Export -> Other -> Metrics

আপনি ফাঁকা এবং মন্তব্য-কেবল লাইন উপেক্ষা করে কোড মেট্রিক্সের লাইনগুলি সামঞ্জস্য করতে পারেন বা জাভাডোককে বাদ দিতে পারেন যদি আপনি চান। এটি করতে ট্যাবটি চেক করুন Preferences -> Metrics -> LoC

এটাই. সেখানে কোঁকড়া ধনুর্বন্ধনী বাদ দেওয়ার কোনো বিশেষ বিকল্প {}

প্লাগইনটি এলওসি-তে একটি বিকল্প মেট্রিক অফার করে নাম্বার অফ স্টেটমেন্ট অফার করে । এটি সম্পর্কে লেখকের এই কথাটি রয়েছে:

এই মেট্রিক কোনও পদ্ধতিতে বিবৃতিগুলির সংখ্যা উপস্থাপন করে। আমি লাইন কোডের তুলনায় এটি আরও শক্তিশালী ব্যবস্থা হিসাবে বিবেচনা করি যেহেতু পরেরটি বিভিন্ন ফর্ম্যাটিং কনভেনশনগুলির ক্ষেত্রে ভঙ্গুর।

সম্পাদনা:

আপনি আপনার প্রশ্নটি পরিষ্কার করার পরে, আমি বুঝতে পারি যে রিয়েল-টাইম মেট্রিক্স লঙ্ঘনের জন্য আপনার প্রয়োজন যেমন সংকলক সতর্কতা বা ত্রুটি view আপনার বসের জন্য প্রতিবেদন তৈরি করতে আপনার প্রতিবেদনের কার্যকারিতাও প্রয়োজন। আমি উপরে উল্লিখিত প্লাগইনটি প্রতিবেদনের জন্য কারণ আপনি যখন মেট্রিকগুলি দেখতে চান তখন তা রফতানি করতে হয়।


ঠিক আমি যা খুঁজছিলাম এবং দুর্দান্ত রফতানি বৈশিষ্ট্য।
জর্জে_ এইচ

1
এই প্লাগইনটির বর্তমান সংস্করণ (৩.১৪.১.১) উপগ্রহ লুনা (৪.৪) এর সাথে কাজ করে না বলে মনে হয়। আশ্চর্যজনকভাবে,
সোর্সফোজের

অনেক লোক রিপোর্ট করে যে এটি আর কাজ করে না, তবে সোর্সফোর্সে কেউ বাগ ফাইল করেনি ...
টমাস ওয়েলারের

6
হ্যাঁ। আমি এর অধীনে কোনও অপশন দেখতে পাচ্ছি না right click a project -> Export, আমি গ্রহন বাজার থেকে সরাসরি প্লাগ-ইন ইনস্টল করেছি - সংস্করণটি হ'ল Eclipse Metrics 3.12.0, যে কেউ দয়া করে আমাকে সহায়তা করতে পারেন। ধন্যবাদ!
ওভাররক স্টার

2
একটি কার্যকরী সংস্করণ রয়েছে - github.com/qxo/eclipse-metics-plugin/blob/master/updatesite/…
দামিয়ান

263

সর্বদা "বর্বর শক্তি" রয়েছে:

  1. Search-> ফাইল

  2. "পাঠ্য ধারণ করে" -> এ নিম্নলিখিত লিখুন ^.*$। তারপরে "নিয়মিত অভিব্যক্তি" চেকবক্সটি পরীক্ষা করুন

  3. "ফাইলের নাম ধরণ" -> এ নিম্নলিখিত লিখুন *.java

  4. "অনুসন্ধান" ক্লিক করুন

  5. "অনুসন্ধান" ট্যাবে ম্যাচের সংখ্যা পরীক্ষা করুন।


11
এটি আমি যা খুঁজছিলাম ঠিক তা করেছে। এটি বন্ধনী বা অভিনব কোনও কিছু বাদ দেয় না, তবে এটি উত্তরটি আমি সন্ধান করছিলাম, গ্রহনে, প্লাগইন ছাড়া gives ধন্যবাদ!
লুক

24
আপনি এটি ব্যবহার করতে পারেন \n[\s]*এবং এটি খালি লাইনগুলিকেও উপেক্ষা করবে
আসকালোনিয়ান

3
অন্য একটি প্লাগইন প্রয়োজন ছাড়াই খুব সুন্দর সমাধান! +1
স্টিফান

2
এটি সর্বশেষ (নিয়ন)
গ্রহণের

2
@ ওমিরিও মন্তব্যগুলি পাশাপাশি টাইপ করতে হবে এবং যে কোনও উত্স কোডের প্রয়োজনীয় অংশ। এই প্ররোচনাগুলি গণনা না করা তারা গুরুত্বপূর্ণ হবে না বা কেবল অন্ধ পাঠ্য - যা মারাত্মক ভুল।
অ্যাক্সেল অ্যামথর

23

যদি ওএসএক্স বা * এনআইএক্স ব্যবহার করে

*। জাভা ফাইলগুলি থেকে জাভা কোডের সমস্ত আসল লাইন পান

find . -name "*.java" -exec grep "[a-zA-Z0-9{}]" {} \; | wc -l

*। জাভা ফাইলগুলি থেকে সমস্ত লাইন পান, যার মধ্যে খালি লাইন এবং মন্তব্য রয়েছে

find . -name "*.java" -exec cat | wc -l

ফাইল প্রতি তথ্য পান, এটি আপনাকে [ফাইল + + "," + + লাইনের সংখ্যা] দেওয়ার পথ দেবে

find . -name "*.java" -exec wc -l {} \;


এটি আমার জন্য কাজ করেছে। -নাম "*। জাভা" | xargs বিড়াল | গ্রেপ '[alnum]' | wc -l
ওমেরিও

2
হওয়া উচিতfind . -name "*.java" | xargs cat | grep "[a-zA-Z0-9{}]" | wc -l
योद्धा 107

8

উদাহরণস্বরূপ লোকমেট্রিক্সের মতো আরেকটি লোকাল ইউটিলিটি ব্যবহার করা অন্য উপায় ।
এটি অন্যান্য অনেক লোক সরঞ্জাম তালিকাভুক্ত করে । Eclipse এর সাথে সংহতকরণ সর্বদা থাকবে না (যেমন এটি মেট্রিক্স 2 এর সাথে হবে , এটি আপনি মেট্রিকগুলির চেয়ে আরও সাম্প্রতিক সংস্করণ হিসাবে দেখতে পারেন ) তবে কমপক্ষে tools সরঞ্জামগুলি যৌক্তিক লাইনের মেয়াদে যুক্ত হতে পারে (সংক্ষিপ্তকরণের দ্বারা গণনা করা) টার্মিনাল সেমিকোলনস এবং টার্মিনাল কোঁকড়া ধনুর্বন্ধনী)।
আপনি গ্রহন-মেট্রিকগুলি পরীক্ষা করে দেখতে পারেন যা আপনি প্রত্যাশা করেন তার সাথে আরও খাপ খায়।


7

অন্য একটি সরঞ্জাম হ'ল গুগল অ্যানালিটিক্স , যা আপনাকে ত্রুটির ক্ষেত্রে প্রকল্পটি তৈরি করতে না পারলেও মেট্রিকগুলি চালানোর অনুমতি দেয় which


যদিও সাইটটি বলেছে এটি কেবল গ্রহণের পুরানো সংস্করণগুলির জন্য, এটি আমার জন্য লুনায় ঠিক কাজ করে। এর জন্য ধন্যবাদ.
ক্যামহার্ট

7

Eclipse এ কোড লাইন গণনা করার একটি সম্ভাব্য উপায়:

অনুসন্ধান / ফাইল ... মেনু ব্যবহার করে ফাইল অনুসন্ধান ট্যাব নির্বাচন করুন, পাঠ্য ধারণের জন্য \ n [\ s] * নির্দিষ্ট করুন (এটি খালি লাইন গণনা করবে না), এবং নিয়মিত অভিব্যক্তিটি টিক দিন ick

হাটের টিপ: www.monblocnotes.com/node/2030


বাহ, এটি সুপার প্রতিভা যতক্ষণ না আপনি নাম্বারটি প্রদান করেন না, খালি লাইন গণনা না করে ...
জননিবি

1

আমি একটি Eclipse প্লাগইন তৈরি করেছি, যা উত্স কোডের লাইনগুলি গণনা করতে পারে। এটি কোটলিন, জাভা, জাভা স্ক্রিপ্ট, জেএসপি, এক্সএমএল, সি / সি ++, সি #, এবং অন্যান্য অনেক ধরণের ফাইল সমর্থন করে।

দয়া করে এটি একবার দেখুন যেকোন মতামত সাদরে গ্রহণ করা হবে!

গিট-হাবের সংগ্রহস্থল এখানে


0

প্রজেক্টকোডমিটারটি এলওএলকে (কোডের লজিকাল লাইনগুলি) আপনি যেমন বর্ণনা করেছেন (কেবল কার্যকর রেখাগুলি) গণনা করে। এটি বহিরাগত কোড মেট্রিক্স সরঞ্জাম হিসাবে গ্রহণের সাথে একীভূত হয় , এটি বাস্তব-সময় নয়, যদিও এটি একটি প্রতিবেদন তৈরি করে act বাস্তবে এটি জটিলতা, পাটিগণিতের জটিলতা, হার্ড কোডিং স্ট্রিংস, সংখ্যার ধ্রুবক ইত্যাদির মতো অনেক উত্স কোড মেট্রিকগুলি গণনা করে .. এমনকি কয়েক ঘন্টা সময় বিকাশের সময়কেও অনুমান করে ।


0

স্ট্যাটিক বিশ্লেষণ জন্য, আমি ব্যবহার করা হয় এবং SonarQube যা রান সুপারিশ করেছি মাত্র সব সম্পর্কে মেট্রিক্স আপনি সম্ভবত চান পারে উপর ভাষায় বিস্তৃত , এবং মৌলিক সংস্করণে মুক্ত (আপনি টাকা দিতে হবে আমি যেসব ভাষায় চাই বিশৃঙ্খলভাবে বিশ্লেষণ আমার মাথার কাছে বন্দুক নিয়ে কেবল কোড করুন)।

আপনার উত্স কোড ভান্ডারটি বিশ্লেষণ চালিয়ে এমন একটি ওয়েব-অ্যাপ হিসাবে আপনাকে এটি ইনস্টল করতে হবে, তবে এটিতে একটি Elpipse প্লাগইনও রয়েছে

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

প্রকাশ: সোনারসোর্সের সাথে আমার কোনও আর্থিক সম্পর্ক নেই।


0

প্রথম কাজটি হ'ল "কোড অফ লাইন" (এলওসি) এর আপনার সংজ্ঞা নির্ধারণ করা। আপনার উভয় প্রশ্নে

এটি কেবল একটি লাইন হিসাবে একটি লাইন গণনা করে এবং তিনি চান না যে এটি "এটি একটি লাইন নয়, এটি একটি শৈলীর পছন্দ" হিসাবে গণনা করবে

এবং উত্তরে যেমন,

আপনি ফাঁকা এবং মন্তব্য-কেবল রেখাগুলি উপেক্ষা করে কোড ম্যাট্রিক্সের লাইনগুলি সামঞ্জস্য করতে পারেন বা জাভাদোককে বাদ দিতে পারেন যদি আপনি চান

আপনি বলতে পারেন যে কোডের একটি লাইন কী গঠন করে সে সম্পর্কে মানুষের বিভিন্ন মতামত রয়েছে। বিশেষত, লোকেরা প্রায়শই কোডের লাইন সংখ্যা বা বিবৃতি সংখ্যা চায় কিনা তা সম্পর্কে প্রায়শই ছদ্মবেশী হয়। উদাহরণস্বরূপ, যদি আপনার নীচের বিবৃতিতে সত্যই দীর্ঘ লাইন থাকে তবে আপনি কী 1 টি এলওসি বা শত শত বিবৃতিতে প্রতিবেদন করতে চান?

{ a = 1; b = 2; if (a==c) b++; /* etc. for another 1000 characters */ }

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.