0 امتیاز
قبل در کامپیوتر و اینترنت توسط (760 امتیاز)
برچسب گذاری دوباره قبل توسط
ما از Line Number می تونیم متوجه بشیم که در صفحه جاری چند خط کدزدیم. اما یزمانی هست که صفحات ما خیلی زیاد شدن و پزوژه نسبتا" بزرگی داریم و نمی تونیم عین اون 50-100 تا صفحه رو باز کنیم و بشمریم!!!!!

روش یا برنامه ای (در Visual Sudio) هست که بشه متوجه شد که (کل) برنامه من چند خط کد است؟
قبل توسط (1.1هزار امتیاز)
من توی جاوا برای این کار یه برنامه کوچیک نوشته بودم که بصورت بازگشتی می رفت توی تمام فولدرهای پروژه، فایل های سورس کد را پیدا می کرد و خطوطشو می شمرد. فکر کنم راه ساده و سریعیه.
قبل توسط (760 امتیاز)
خودمم به همین فکر کرده بودم، امکانش هست سورس رو در اختیارم بگذارید؟
قبل توسط (1.1هزار امتیاز)
به زبان جاوا نوشته شده و یکمی هم قدیمیه ولی اگه بدردتون میخوره می گردم اگه پیدا کردم بعنوان جواب می زارم.

2 پاسخ

+2 امتیاز
قبل توسط (190 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ
سلام ؛ در ویژوال استودیو برای شمردن کد های یک پروژه نیاز به نوشتن حتی یک خط کد نیز نیست فقط کافی مراحل زیر رو طی کنید :

View > Other Windows > Code Metrics

سپس در پنجره باز شده روی Calculate code metrics for solution ( آیکن کوچیک در گوشه بالا سمت چپ پنجره) رو کلیک کنید ، بعد از چند لحظه(اگه پروژتون بزرگ باشه ممکنه تا چند دقیقه هم طول بکشه ! ) اطلاعات دقیقی از کد های نوشته شده از جمله تعداد خطوط کد بهتون میده.
قبل توسط (760 امتیاز)
فقط فکر می کنم مشکلی وجود داره!
من یه پروژه وب رو که باز می کنم و روندی که شما گفتید رو رفتم، اصلا" حتی آیکون محاسبه هم خاموش بود اما یک پروژه کنسول اپلیکیشن رو محاسبه کرد!!!
+1 امتیاز
قبل توسط (1.1هزار امتیاز)

برنامه زیر به زبان جاوا نوشته شده و تعداد خطوط کد یک پروژه و فایل های اون پروژه رو حساب می کنه، یک فایل properties هم کنار برنامه قرار داره که آدرس فولدر اصلی پروژه و پسوند مورد نظر شمارو میگیره:

package com.saeed.loc;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.LineNumberReader;
import java.util.Properties;

/**
 *
 * @author Saeed Zarinfam
 */
public class Main {

    public static final String PROP_ROOT = "root";
    public static final String PROP_EXTENSION = "extension";
    private String[] args;
    private Properties rootProperties = new Properties();
    private int totalFiles;
    private long totalLOC;

    public Main(String[] args) {
        this.args = args;
        try {
            rootProperties.load(new FileInputStream("root.properties"));
        } catch (Exception ex) {
            System.out.println("can not found or open root.properties file. see the following exception:");
            ex.printStackTrace();
            System.exit(0);
        }   
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Main app = new Main(args);

        app.run();
        System.exit(0);
    }

    /**
     * pars command line arguments for doing correspond action
     */
    private void run() {
        File rootDir = new File(rootProperties.getProperty(PROP_ROOT));

        parsDirectory(rootDir);

        System.out.println("total files = " + totalFiles);
        System.out.println("total line of code = " + totalLOC);
    }

    private void parsDirectory(File dir) {
//        System.out.println("current dir = "+dir.getName());
        File[] files = dir.listFiles();
        for (File file : files) {
            if (file.isDirectory()) {
                parsDirectory(file);
            } else if (file.getName().endsWith(rootProperties.getProperty(PROP_EXTENSION))){
                calculateLOC(file);
            }
        }
    }

    private void calculateLOC(File file) {
        System.out.println("current file = "+file.getName());
        totalFiles++;
        String thisLine;

        try {
            LineNumberReader locReader = new LineNumberReader(new FileReader(file));
            while ((thisLine = locReader.readLine()) != null) { // while loop begins here
            }

            totalLOC += locReader.getLineNumber();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }
}

اینم فایل properties که برای شمردن خطوط فایل های جاوا تنظیم شده:

# root directory of project
root = /home/saeed/projects/project-loc
extension = .java

سوالات مشابه

0 امتیاز
0 پاسخ 379 بازدید
+1 امتیاز
2 پاسخ 13.1هزار بازدید
0 امتیاز
0 پاسخ 513 بازدید
0 امتیاز
0 پاسخ 2.7هزار بازدید
0 امتیاز
2 پاسخ 1.5هزار بازدید
سوال شده 10 سال قبل در کامپیوتر و اینترنت توسط سلطانی (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 648 بازدید
+1 امتیاز
1 پاسخ 1.6هزار بازدید
...