ভিজ্যুয়াল স্টুডিও সমাধানে আপনি কোডের লাইনগুলি কীভাবে গণনা করবেন?


800

সম্পূর্ণ সমাধানে কোডের রেখার সংখ্যা খুঁজে পাওয়া সম্ভব? আমি এমজেড-টুলস শুনেছি , তবে ওপেন সোর্সের সমতুল্য কি আছে?


24
আমি সম্মত
হ'ল

33
এলওসি কেবল একটি মেট্রিক এবং বিশদভাবে 2 ক্ষেত্রে হস্তক্ষেপ করে: 1) কোড কোডটি কত বড় তা বোঝার জন্য যেমন আপনি যখন একটি নতুন দলে যোগদান করেন 2) আপনার কোড বেসকে আরও কমপ্যাক্ট করার চেষ্টা করার সময় আপনার অগ্রগতি পরিমাপ করার জন্য
পাইওটার ওউসিয়াক

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

77
ভিএস 2010 এ একটি অন্তর্নির্মিত সরঞ্জাম রয়েছে যা কোডের সমস্ত লাইন এবং অন্যান্য মানকেও গণনা করে: দেখুন -> অন্যান্য উইন্ডোজ -> কোড মেট্রিকের ফলাফলগুলিতে যান। কোণার একটি ছোট্ট বোতাম যা ক্যালেন্ডারের মতো দেখাচ্ছে, এতে ক্লিক করুন, টুলটিপটিতে বলা উচিত আত্মার জন্য কোড মেট্রিক গণনা করুন এবং ভিএসকে এটি করতে দিন।
ব্যবহারকারী 959631

64
লোকটি কেন কোড গণনা করতে চায় তা সর্বদা আপনাকে জানাতে হবে না। যখন প্রশ্নটি এইভাবে বলা হয়, কেন বিষয়টি অপ্রাসঙ্গিক around শুধু তার প্রশ্নের উত্তর দিন। আমি ওটা ঘৃণা করি. এমন সময় জিজ্ঞাসা করার সময় আছে যখন স্পষ্টভাবে আপনার প্রয়োজন হবে এবং তারপরেও এমন সময় রয়েছে যখন আপনি না করেন (যখন আপনি ব্যক্তিগতভাবে কোনও প্রয়োজন দেখেন না ... এবং অহঙ্কারে পোস্টারটি ব্যজার করছেন)।
PositiveGuy

উত্তর:


524

ভিজ্যুয়াল স্টুডিও 2010 আলটিমেটের এই বিল্ট ইন রয়েছে:

বিশ্লেষণ করুন Met কোড মেট্রিক গণনা করুন


12
চূড়ান্ত এবং প্রিমিয়াম, আমি মনে করি
স্টেফান ড্রাগেনভ

39
সতর্কতা: এটি কেবল লাইন গণনা ছাড়াও অন্যান্য অনেকগুলি কাজ করে। এটি "রক্ষণাবেক্ষণ সূচক", "সাইক্লোমেটিক জটিলতা", "উত্তরাধিকারের গভীরতা" এবং "ক্লাস কাপলিং" এরও তালিকাভুক্ত করে, যার সবগুলিই গণনা করা বেশ জটিল, এবং আপনি এর কেবলমাত্র অংশের জন্য মেট্রিকগুলি চালাতে পারবেন না। এর অর্থ হ'ল যদি আপনার কোড-বেসটি বিশেষত বড় হয় তবে আপনি এটির জন্য অপেক্ষা করতে পারেন কয়েক ঘন্টা। আপনি যদি চান সমস্ত লাইন-কাউন্ট হয়, তবে এর অনেক দ্রুত সমাধান রয়েছে।
ড্যারেল হফম্যান

4
এছাড়াও vs2012 চূড়ান্ত =)
ওসিসিস্কেটিং

9
ভিএস 2013 এর বিশ্লেষণ আছে -> কোড মেট্রিক গণনা করুন
দিনেশ রাজন

42
খুব খারাপ এটি নেটিভ সি ++ প্রকল্পের সাথে কাজ করে না (কমপক্ষে এটি ভিএস ২০১৩ এ দেয় না)।
ক্যামেরন

844

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

ছোট্ট সমাধানের ডিরেক্টরি থেকে:

PS C:\Path> (gci -include *.cs,*.xaml -recurse | select-string .).Count
8396
PS C:\Path>

এটি সমাধানের সমস্ত .cs এবং .xaml ফাইলগুলিতে নন-ফাঁকা লাইন গণনা করবে। আরও বড় প্রকল্পের জন্য, আমি কেবল একটি আলাদা এক্সটেনশান তালিকা ব্যবহার করেছি:

PS C:\Other> (gci -include *.cs,*.cpp,*.h,*.idl,*.asmx -recurse | select-string .).Count
909402
PS C:\Other>

যখন একটি একক কমান্ড-লাইন এটি করবে তখন কেন একটি সম্পূর্ণ অ্যাপ্লিকেশন ব্যবহার করবেন? :)


19
(কেবলমাত্র যখনই আমাকে লাইনের পরিমাণ সরবরাহ করতে বলা হয়েছিল তখন যখন ওপরের ব্যবস্থাপনাগুলি আমাদের সমস্ত পণ্য বিদেশে মাইগ্রেট করতে কতটা সময় নিতে পারে তা নির্ধারণ করছিল যাতে তারা আমাদের ঘরোয়া সাইটটি বন্ধ করে দিতে পারে।)
গ্রেগ ডি

8
(হ্যাঁ, এতে কোডজেনড ফাইল এবং মন্তব্য রয়েছে No না, এটি আমাকে বিরক্ত করে না Design ডিজাইনার, জেনড কোড এবং মন্তব্যগুলিও বজায় রাখা দরকার))
গ্রেগ ডি

27
খুব সুন্দর, পাওয়ারশেলের সম্পর্কে পুরোপুরি ভুলে গেছি। এটি
সেন্টিমিডির

4
অসাধারণ! আপনার শেষ মন্তব্যটি সত্যিই এটির সংক্ষিপ্তসার তৈরি করেছে, এটি একটি তুচ্ছ কাজ, সুতরাং কেন একটি তুচ্ছ সরঞ্জাম ব্যবহার করবেন? যদিও আমি সত্যিই মনে করি এটি ভিএস এর সমস্ত সংস্করণে অন্তর্ভুক্ত করা উচিত Though
সুন রিভার্স

13
আপনি যদি এক্সএএমএল-এর জন্য উত্সাহিত ব্যাকিং ফাইলগুলি বাদ দিতে চান তবে আপনি কেবল একটি এক্সক্লুড সুইচটি যুক্ত করতে পারেন: (dir -exclude *.g.cs -include *.cs,*.xaml -recurse | select-string .).Count
ইজেড হার্ট

347

আমি Ctrl+ Shift+ ব্যবহার করেছি F। এরপরে, \nঅনুসন্ধান বাক্সে একটি রাখুন এবং নিয়মিত এক্সপ্রেশন বাক্স সক্ষম করুন। তারপরে ফলাফলের ফলাফলগুলিতে, পর্দার শেষে অনুসন্ধান করা ফাইলের সংখ্যা এবং কোডের লাইনগুলি পাওয়া যায়।

আপনি [^\n\s]\r\nফাঁকা এবং কেবল স্থান ফাঁকা লাইনগুলি এড়াতে (মন্তব্যগুলিতে জাখের কাছে ক্রেডিট) ব্যবহার করতে পারেন ।


16
এই সমাধানটি ভুলভাবে ফাঁকা রেখা, মন্তব্য, ডকুমেন্টেশন এবং বিভক্ত বিবৃতি অন্তর্ভুক্ত করে। অনেক অ্যাপ্লিকেশনগুলির জন্য সেগুলি কোডের লাইন হিসাবে গণনা করা উচিত নয়।
জে বাক্সার

1
যদিও এটি সামান্য ভুল (যদি আপনি আপনার কোডটিতে প্রকৃতপক্ষে code n ব্যবহার করেন তবে সেই লাইনটি দ্বিগুণ গণনা করা হবে), তৃতীয় পক্ষের সরঞ্জাম ছাড়াই আপনার যদি কোনও লাইন কোডের একটি রম প্রয়োজন হয় তবে এটি এখনও সেরা উত্তর
জোসেফ ডিউটি

1
আপনি একটি বিকল্প Look at these file types:ড্রপডাউন নির্বাচন করে কেবল একটি নির্দিষ্ট ফাইল প্রকারটি নির্বাচন করতে পারেন কেবল বেলুন enable regular expressions box
মোশি 18

1
খুব ছোট প্রকল্পের জন্য কাজ করে ... আপনার কাছে 100 মিলিয়ন লাইন কোড রয়েছে এতে কিছুটা সময় লাগবে।
মার্শ

10
[^\n\s]\r\nফাঁকা রেখাগুলি এড়িয়ে যায় এমনকি এগুলির ফাঁকা স্থান রয়েছে।
জ্যাচ মিয়ারজেজেউস্কি

219

VS2005, 2003 এবং 2002 এর জন্য একটি মুক্ত উত্স লাইন কাউন্টার এখানে উপলভ্য:

http://www.wndtabs.com/

কোডেপ্রজেক্টে কোড সহ পূর্ণ, এখানে ভিএস অ্যাডিন গণনা করার বিষয়েও আলোচনা রয়েছে

http://www.codeproject.com/KB/macros/LineCounterAddin.aspx

স্লিক এডিট গ্যাজেটগুলির এখানে একটি দুর্দান্ত লাইন-কাউন্টার রয়েছে:

http://www.slickedit.com/products/slickedit

এবং মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও টিম সিস্টেম ২০০৮-তে একটি ভাল লাইন কাউন্টার অন্তর্ভুক্ত রয়েছে।

শুধু মনে রাখবেন যদিও:

কোডের লাইনে প্রোগ্রামিংয়ের অগ্রগতি পরিমাপ করা ওজন অনুসারে বিমানের বিল্ডিংয়ের অগ্রগতি পরিমাপ করার মতো। বিল গেটস


1
প্রায়শই কোডের রেখাগুলি গণনা করা কেবল জাস্ট প্লেইন সিলি এবং পরিমাণটি মানের বোঝায় না। যাইহোক, একটি বিশাল দল বাতাসে 545,000 পাউন্ড (545,000 পাউন্ড !!) ড্রিমলাইনার স্থাপন করা আমার গ্যারেজে এককভাবে নির্মিত আল্ট্রালাইট চালু করার চেয়ে সম্পূর্ণ ভিন্ন কৃতিত্ব। এবং যদি আপনি উইন্ডোজে কোডের রেখার সংখ্যা সম্পর্কে ভাবেন, তবে মিঃ বিল সাধারণত এটি গ্রহণ করার চেয়ে আলাদাভাবে বোঝাতে চেয়েছিলেন ...?
নিঃশর্তভাবেইইনস্টেটমোনিকা

18
এগুলির কোনওটি ভিজ্যুয়াল স্টুডিও 2010-এ প্রযোজ্য বলে মনে হচ্ছে না, এবং কাটানো লিঙ্কটি নষ্ট হয়ে গেছে।
এমজিওউইন

57
আপনি "বিশ্লেষণ> কোড মেট্রিক্স" এর অধীনে ভিজ্যুয়াল স্টুডিও 2010 আলটিমেটে এলওসি বৈশিষ্ট্যটি পেয়েছেন আশা করি আমি এটি সঠিকভাবে অনুবাদ করেছি। আমার কাছে জার্মান সংস্করণ আছে। সেখানে এটি "বিশ্লেষণ"> "কোডমেট্রিকেন বেরেকেন"
ওয়ানওয়ার্ল্ড

2
ভিজ্যুয়াল স্টুডিও ২০১২ এর জন্য এলওসি মেট্রিক পাওয়া যাবে
আনলাইজে

2
এছাড়াও, ভিএস2012 আলটিমেট এবং প্রিমিয়াম উভয় সংস্করণে (এবং এখন পেশাদার হিসাবেও) এই বৈশিষ্ট্যটি অন্তর্ভুক্ত করে।
সোয়াল্টার্স - মনিকা

81

যারা "অনুসন্ধান" বিকল্পটি করতে চান (যা আমি সবচেয়ে সহজ বলে মনে করি) তাদের জন্য ভিজ্যুয়াল স্টুডিও 2012/2013/2015 এর একটি আপডেট এখানে রয়েছে: এই রেজিএক্স সুনির্দিষ্ট ফলাফল দেওয়ার জন্য বেশ কয়েকটি ব্যতিক্রম সহ সমস্ত ফাঁকা রেখা খুঁজে পাবে will ।

"সন্ধান করুন" বাক্সে নিম্নলিখিত RegEx লিখুন। "নিয়মিত এক্সপ্রেশন ব্যবহার করুন" বিকল্পটি নির্বাচন করতে ভুলবেন না দয়া করে। আপনার প্রয়োজনীয়তার উপর নির্ভর করে অনুসন্ধান বিকল্পটি "বর্তমান প্রকল্প" বা "সম্পূর্ণ সমাধান" তে পরিবর্তন করুন। এখন "সমস্ত অনুসন্ধান করুন" নির্বাচন করুন। ফলাফলগুলি উইন্ডোর নীচে আপনি দেখতে পাবেন "ম্যাচিং লাইনস" যা কোড গণনার লাইন।


^(?!(\s*\*))(?!(\s*\-\-\>))(?!(\s*\<\!\-\-))(?!(\s*\n))(?!(\s*\*\/))(?!(\s*\/\*))(?!(\s*\/\/\/))(?!(\s*\/\/))(?!(\s*\}))(?!(\s*\{))(?!(\s(using))).*$

এই RegEx নিম্নলিখিত আইটেমগুলি বাদ দেয়:


মন্তব্য

// This is a comment

মাল্টি-লাইন মন্তব্য (ধরে নিচ্ছেন লাইনগুলি প্রতিটি লাইনের সামনে একটি * দিয়ে সঠিকভাবে মন্তব্য করা হয়েছে)

/* I am a
* multi-line
* comment */

ইনটেলিসেন্সের জন্য এক্সএমএল

/// <summary>
/// I'm a class description for Intellisense
/// </summary>

এইচটিএমএল মন্তব্যসমূহ:

<!-- I am a HTML Comment -->

বিবৃতি ব্যবহার:

using System;
using System.Web;

কোঁকড়া ধনুর্বন্ধনী খোলার:

{

বন্ধ কোঁকড়া ধনুর্বন্ধনী:

}

দ্রষ্টব্য: ধনুর্বন্ধনীগুলির মধ্যে যে কোনও কিছুই অনুসন্ধানে অন্তর্ভুক্ত করা হবে, তবে এই উদাহরণে 18 টি প্রকৃত নন-ফাঁকা লাইনের পরিবর্তে কোডের 4 টি লাইন গণনা করা হবে:

        public class Test
        {
            /// <summary>
            /// Do Stuff
            /// </summary>
            public Test()
            {
                TestMe();
            }
            public void TestMe()
            {
                //Do Stuff Here
                /* And
                 * Do
                 * Stuff
                 * Here */
            }
        }

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


18
বিনা মন্তব্যে ডাউনভোটকে ভালোবাসুন। এটি অনুমতি দেওয়া উচিত নয়। আমার সমাধান কি কাজ করে না ??? আমি ভোটের বিষয়েও চিন্তা করি না, আমি কেবল ভিএস ২০১২-২০১৩ ব্যবহারকারীদের জন্য একটি আপডেট পোস্ট করতে চেয়েছিলাম।
হাওয়ার্ড রেনোললেট

সমস্ত উত্পন্ন কোড (এসেম্বলিআইএনফো ইত্যাদি) ফিল্টার আউট করা কঠিন তাই বিশ্লেষণ / গণনা কোড মেট্রিক্স পছন্দ করা উচিত।
এমকেস্পার

4
দুর্দান্ত কাজ, তবে দয়া করে বিকল্পগুলি অনুসন্ধান বিভাগের অধীনে নিয়মিত এক্সপ্রেশন চেকবক্সটি সম্পর্কে উল্লেখ করুন । এটি এটিকে আরও সহজ করে তোলে
গোগুটজ

@ এম কেস্পার কিন্তু সি সি ++ এর জন্য কাজ করবেন না
d7samurai

এক্সএমএল, না এইচটিএমএল না হলে একটি সহজ সংস্করণ ... ^ (? ([^ \ R \ n]) \ গুলি) * [^ \ এস +? /] + [^ \ N] * $ $
লাস্ট ব্লো

80

এই টিপটি খুঁজে পেয়েছে : ভিএস খুঁজুন এবং প্রতিস্থাপনের সাথে এলওসি

যদিও আপনি যা সন্ধান করছেন তা যদি প্লাগইন হয় না।


আমি এটিকে ভালবাসি, তবে আমি মনে করি সেখানে প্রকাশের ক্ষেত্রে আমি একটি ছোট ত্রুটি পেয়েছি। ভিবি.নেটের জন্য আমি মনে করি এটি ^ ~ (: WH @ ') ~ (: WH @ \ #) হওয়া উচিত + এবং সি # এর জন্য আমি think ~ (: WH @ //) think (: WH @ @ {: WH @) ~ (: WH @ \}: WH @) ~ (: হু @ \ #)। + এইভাবে ফাঁকা মন্তব্য লাইন এবং সংকলক নির্দেশাবলী সঠিকভাবে মোকাবেলা করা হয়েছে। এটি যাইহোক যাইহোক VB.NET এর সাথে আমার পক্ষে আরও ভালভাবে কাজ করেছে, এবং সি # আমি পরীক্ষা করিনি।
ব্যবহারকারী 12861

^ ~ (: WH @ //) ~ (: WH @ \ {: হু @) ~ (: হু @ @ \}: হু @) ~ (: হু @ @ #) ~ (: হু @ $) সি # এর জন্য আরও ভালভাবে কাজ করা, আমি কেবল শ্বেতস্থান নিয়ে কিছু লাইন পেয়েছিলাম।
ব্যবহারকারী 12861

এটি কি সমস্ত মন্তব্য করা লাইন গণনা করে না? শুধু কোডের লাইন!
হাইডফানি

4
এখানে আমি ভিএস ২০১২ (যে পোস্ট করা হয়েছে তা ২০১০ সালের পুরানো) এর সাথে কাজ করে এবং এটি কেবল কোডের লাইন গণনা করে one এটি আপনাকে কেবল একটি সত্যিকারের কোড গণনা করার জন্য নির্দেশনা, কোঁকড়া ধনুর্বন্ধনী, এক্সএমএল নির্দেশিকা, ফাঁকা লাইন ইত্যাদি ব্যবহার করে সমস্ত মন্তব্য বাদ দেয়: ^ (?! (* S **)) (?! (\ S * \) - \ -! \>)) ((\ গুলি * \ <\ \ - \ -?!?!)) ((\ গুলি * \ N)) ((\ গুলি ** \ /)) (?! (\ গুলি * \ / *)) (?! (\ গুলি * \ / \ / \ /)) (?! (\ গুলি * \ / \ /)) (?! (\ গুলি * \})) (? ! (\ s * \ {)) (?! (\ s (ব্যবহার)))। * $
হাওয়ার্ড রেনোললেট

65

ক্লোক একটি দুর্দান্ত কমান্ডলাইন, পার্ল-ভিত্তিক, উইন্ডোজ-এক্সিকিউটেবল যা ফাঁকা লাইন, মন্তব্য করা রেখা এবং কোডের উত্স লাইনগুলি ফাইল-ফর্ম্যাট দ্বারা গোষ্ঠীভঙ্গ করে।

এখন এটি কোনও ভিএস সমাধান ফাইলটিতে সুনির্দিষ্টভাবে চলবে না, তবে এটি ডিরেক্টরিগুলির মাধ্যমে পুনরাবৃত্তি করতে পারে এবং আপনি যেমন দেখতে চান ঠিক তেমন ফাইলের নাম ফিল্টার সেট আপ করতে পারেন।

এখানে তাদের ওয়েব পৃষ্ঠা থেকে নমুনা আউটপুট:

প্রম্পট> ক্লোক পার্ল- 5.10.0.tar.gz
    4076 পাঠ্য ফাইল।
    3883 অনন্য ফাইল।                                          
    1521 টি ফাইল উপেক্ষা করা হয়েছে।

http://cloc.sourceforge.net v 1.07 টি = 10.0 গুলি (251.0 ফাইল / গুলি, 84566.5 লাইন / গুলি)
-------------------------------------------------- -----------------------------
ভাষা ফাইলগুলি ফাঁকা মন্তব্য কোড স্কেল 3 য় জেনার। equiv
-------------------------------------------------- -----------------------------
পার্ল 2052 110356 112521 309778 x 4.00 = 1239112.00
সি 135 18718 22862 140483 x 0.77 = 108171.91
সি / সি ++ শিরোলেখ 147 7650 12093 44042 x 1.00 = 44042.00
বোর্ন শেল 116 3402 5789 36882 x 3.81 = 140520.42
লিস্প 1 684 2242 7515 x 1.25 = 9393.75
7 498 473 2044 x 2.50 = 5110.00 করুন
সি ++ 10 312 277 2000 x 1.51 = 3020.00
এক্সএমএল 26 231 0 1972 এক্স 1.90 = 3746.80
ইয়্যাক 2 128 97 1549 x 1.51 = 2338.99
YAML 2 2 0 489 x 0.90 = 440.10
ডস ব্যাচ 11 85 50 322 x 0.63 = 202.86
এইচটিএমএল 1 19 2 98 x 1.90 = 186.20
-------------------------------------------------- -----------------------------
সুম: 2510 142085 156406 547174 x 2.84 = 1556285.03
-------------------------------------------------- -----------------------------

তৃতীয় প্রজন্মের সমমানের স্কেল এটি তৃতীয় প্রজন্মের ভাষায় কত কোড নেবে তার মোটামুটি অনুমান । মারাত্মকভাবে দরকারী নয়, তবে তা আকর্ষণীয়।


1
এটি দুর্দান্ত এবং দুর্দান্ত ব্যবহারযোগ্য। সমাধানগুলি অনুসন্ধান / প্রতিস্থাপনের চেয়ে অনেক সহজ এবং ভিএস কোড মেট্রিক্স বিকল্পের তুলনায় এটি আসলে কী করছে তা আরও পরিষ্কার। ঠিক choco install clocতখনই cloc .আপনার সলিউশনে ড। কাজ শেষ!
ররি

1
আমি সিএলওসি ওয়েবসাইট থেকে উইন্ডোজ এক্সই ডাউনলোড করেছি এবং এটি আমার ভিজ্যুয়াল স্টুডিও 2017 ওয়েবসাইট প্রকল্প ফোল্ডারে চালিয়েছি । কবজির মতো কাজ করেছেন। আমি - বাই-ফাইল-বাই-ল্যাং বিকল্পটি পছন্দ করি যা পৃথক ফাইল এবং ভাষার প্রতি লাইন গণনা তালিকাভুক্ত করে, বৃহত্তম থেকে ক্ষুদ্রতম পর্যন্ত সাজানো।
হামবুডস

42

এখানে উত্তরগুলি সামান্য পুরানো, বনাম ২০০৮ সালের হতে পারে। কারণ নতুন ভিজুয়াল স্টুডিও সংস্করণ ২০১০/২০১২ এ, এই বৈশিষ্ট্যটি ইতিমধ্যে অন্তর্নির্মিত। সুতরাং এটির জন্য কোনও এক্সটেনশন বা সরঞ্জাম ব্যবহার করার কোনও কারণ নেই।

কোডের লাইন গণনা করার বৈশিষ্ট্য - মেট্রিক গণনা করুন। এটির সাহায্যে আপনি প্রতিটি প্রকল্প বা সমাধানের জন্য আপনার ম্যাট্রিকগুলি (এলওসি, রক্ষণাবেক্ষণ সূচক, সাইক্লোমেটিক সূচক, উত্তরাধিকারের গভীরতা) গণনা করতে পারেন।

সমাধান এক্সপ্লোরার এর সমাধান বা প্রকল্পে ঠিক ডান ক্লিক করুন,

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

এবং "মেট্রিক গণনা" নির্বাচন করুন

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

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


2
ভিজ্যুয়াল স্টুডিও 2010 এরও এই মেট্রিক রয়েছে। আসলে ভিএস ২০১২ তে নতুন কিছু নয়।
মাইক চালি

1
হ্যাঁ, তবে উত্তরগুলি ২০০৮ সালের বনামের সময় থেকে এবং সামান্য পুরানো, কেন কোনও কিছু ব্যবহার করুন বা কোনও বিল্ট-ইন বৈশিষ্ট্যযুক্ত হলে কোনও এক্সটেনশন ইনস্টল করুন। এমনকি এটি কোনও নতুন বৈশিষ্ট্য নয় যা অনেকে এ সম্পর্কে জানেন না।
Regfor

@ মাইকচালি হতে পারে দ্বিতীয় সূচনার বাক্যটি আপনাকে বিভ্রান্ত করেছে, তাই এ জাতীয় বিভ্রান্তি এড়াতে আমি এটি কিছুটা আবার লিখেছি।
Regfor

আমার একটি এন-লেয়ার সমাধান রয়েছে তবে এটি এই ত্রুটিটি দেখায়: "একটি অনুরোধের লক্ষ্য রেখে ব্যতিক্রম ছুঁড়ে দেওয়া হয়েছে।" কেন?
ব্যবহারকারী 197508

5
এটি কোডের লাইন নয়, তবে সংকলিত রেখাগুলি (যেমন এটি আইএল রূপান্তরিত হওয়ার পরে)। আমার মনে হয় ফারমিন প্রাক সংকলিত লাইনের সন্ধান করছিল।
মাইকসুল্ড

29

VS2010 এবং 2012 এর মধ্যে নিয়মিত প্রকাশগুলি পরিবর্তিত হয়েছে, তাই এখানে নিয়মিত প্রকাশের বেশিরভাগ সমাধান এখন আর কাজ করে না

(^(?!(\s*//.+)))+(^(?!(#.+)))+(^(?!(\s*\{.+)))+(^(?!(\s*\}.+)))+(^(?!(\s*\r?$)))+

খালি নয় এমন সমস্ত লাইন খুঁজে পাবেন, কেবল একটি একক বন্ধনী নয় ('{' বা '}') এবং কেবল একটি # অন্তর্ভুক্ত বা অন্য প্রিপ্রোসেসর নয়।

ব্যবহার করুন Ctrl- shift- fএবং নিশ্চিত করুন যে নিয়মিত প্রকাশগুলি সক্ষম হয়েছে।

ভিএস ২০১০ এবং তার চেয়ে পুরনো সম্পর্কিত নিয়মিত প্রকাশ is

^~(:Wh@//.+)~(:Wh@\{:Wh@)~(:Wh@\}:Wh@)~(:Wh@/#).+

19

ভিজ্যুয়াল স্টুডিও টিম সিস্টেম ২০০৮ এ আপনি মেনু থেকে বিশ্লেষণ করতে পারেন -> 'সমাধানের জন্য কোড মেট্রিকের গণনা করুন' এবং এটি আপনাকে আপনার সম্পূর্ণ সমাধানের একটি লাইন গণনা দেবে (অন্যান্য জিনিসের মধ্যে জি )


12
ভিজ্যুয়াল স্টুডিও টিম সিস্টেম 2008 পরিচালনা না করে থাকা কোড গণনা পরিচালনা করে না। ;)
খ্রিস্টান

17

ভবিষ্যতের পাঠকদের জন্য আমি ভিজ্যুয়াল স্টুডিও 2010 এর জন্য ডিপ্যাক এক্সটেনশনের পরামর্শ দিতে চাই ।

এতে একটি লাইন কাউন্টার সহ অনেকগুলি ইউটিলিটি নির্মিত হয়েছে যা জানায় যে কতগুলি লাইন ফাঁকা, কোড এবং ইত্যাদি says



11

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

Matching lines: 563 Matching files: 17 Total files searched: 17

অবশ্যই এটি বৃহত প্রকল্পগুলির পক্ষে খুব ভাল নয়, যেহেতু ফলাফলগুলি উইন্ডোতে সমস্ত লাইন মেলানো এবং মেমরিতে লোড করা হয়।

রেফারেন্স:




4

স্পষ্টতই সরঞ্জামগুলি সহজ, তবে আমি পাওয়ারশেলের মাধ্যমে এটি করতে শীতল বোধ করছি :)

এই স্ক্রিপ্টটি .sln ফাইলে সমস্ত .csproj রেফারেন্স খুঁজে পায় এবং তারপরে প্রতিটি সিএসপোজ ফাইলের মধ্যে এটি সংকলনের জন্য অন্তর্ভুক্ত থাকা ফাইলগুলি সন্ধান করে। সংকলনের জন্য অন্তর্ভুক্ত প্রতিটি ফাইলের জন্য এটি বৈশিষ্ট্য সহ একটি বস্তু তৈরি করে: সমাধান, প্রকল্প, ফাইল, লাইন। এটি এই সমস্ত বস্তুকে একটি তালিকায় সংরক্ষণ করে এবং তারপরে প্রয়োজনীয় গ্রুপগুলি ডেটা গ্রুপ করে এবং প্রজেক্ট করে।

#path to the solution file e.g. "D:\Code\Test.sln"
$slnFile = "D:\Code\Test.sln"


#results
$results = @()

#iterate through .csproj references in solution file
foreach($projLines in get-item $slnFile | Get-Content | Select-String '".*csproj')
{
    $projFile = [System.IO.Path]::Combine([System.IO.Path]::GetDirectoryName($slnFile), [regex]::Match($projLines,'[^"]*csproj').Value)
    $projFolder = [System.IO.Path]::GetDirectoryName($projFile)

    #from csproj file: get lines for files to compile <Compile Include="..."/>
    $includeLines = get-item $projFile | Get-Content | Select-String '<Compile Include'


    #count of all files lines in project
    $linesInProject = 0;
    foreach($fileLine in $includeLines)
    {
        $includedFilePath = [System.IO.Path]::Combine($projFolder, [Regex]::Match($fileLine, '"(?<file>.*)"').Groups["file"].Value)
        $lineCountInFile = (Get-Content $includedFilePath).Count      
        $results+=New-Object PSObject -Property @{ Solution=$slnFile ;Project=$projFile; File=$includedFilePath; Lines=$lineCountInFile }
    }
}

#filter out any files we dont need
$results = $results | ?{!($_.File -match "Designer")}


#print out:

"---------------lines per solution--------------"
$results | group Solution | %{$_.Name + ": " + ($_.Group | Measure-Object Lines -Sum).Sum}
"---------------lines per peoject--------------"
$results | group Project | %{$_.Name + ": " + ($_.Group | Measure-Object Lines -Sum).Sum}


3

মেনু-> বিশ্লেষণ -> ভিজুয়াল স্টুডিও 2010 আলটিমেটে কোড মেট্রিক্স বিকল্প গণনা করুন।


3

আপনি ভিজ্যুয়াল স্টুডিও কোড মেট্রিক্স পাওয়ারটুল 10.0 ব্যবহার করতে পারেন । এটি একটি কমান্ড-লাইন ইউটিলিটি যা আপনার জন্য পরিচালিত কোডের (কোডের লাইন সহ) কয়েকটি মেট্রিক গণনা করে। আপনি একটি ভিএস 2010 প্লাগইন পেতে পারেন যা সরঞ্জামটি ভিজ্যুয়াল স্টুডিওতে নিয়ে আসে এবং মেনু আইটেমটি নির্বাচন করে এবং "সমাধান বিশ্লেষণ" ক্লিক করার মতো দ্রুত করে তোলে।


2

আলী পাররের সাথে একমত। WndTab লাইন কাউন্টার অ্যাডইন এমন একটি সরঞ্জাম। http://www.codeproject.com/KB/macros/linecount.aspx

কিছু সম্পর্কিত সরঞ্জাম খুঁজতে ডাউনলোড সাইট থেকে অনুসন্ধান করা ভাল ধারণা। http://www.cnet.com/1770-5_1-0.html?query=code+counter&tag=srch



2

আপনি বিনামূল্যে সরঞ্জাম সোর্সমনিটর ব্যবহার করতে পারেন

প্রচুর ব্যবস্থা দেয়: কোডের রেখাগুলি, বিবৃতি গণনা, জটিলতা, ব্লক গভীরতা

চার্টের মাধ্যমে গ্রাফিকাল আউটপুট রয়েছে


1

আপনি ভিজ্যুয়াল স্টুডিও ২০১০-তে প্রজেক্ট লাইন কাউন্টার অ্যাড-ইন ব্যবহার করতে পারেন Nor সাধারণভাবে এটি ভিজ্যুয়াল স্টুডিও 2010 এর সাথে কাজ করে না, তবে এটি এখানে একটি সহায়ক .reg ফাইলের সাথে করে: http://www.onemanmmo.com/index। পিএইচপি? cmd কমান্ড = newsitem ও মন্তব্য = news.1.41.0


1

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

স্ক্রিপ্টটি এখানে পাওয়া যাবে:

https://gist.github.com/1674457



0

ভিজ্যুয়াল স্টুডিও 2015 এ বিশ্লেষণ মেনুতে যান এবং "কোড মেট্রিক্স গণনা করুন" নির্বাচন করুন।

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