例如,着名的库HtmlAgilityPack源的最后一个版本就像110 000行C#,汇编为132 KB。
https://www.openhub.net/p/htmlagilitypack
我的项目大约有6500行,编译为300 KB汇编。
我没有广泛关注源代码,但显然不是100K loc可用类。那么大量的代码在做什么呢?
答案 0 :(得分:3)
除了调试与发布模式等差异之外,我怀疑将6,500行与其源中的“110,000”行进行比较会产生误导。
代码行是一个古怪的指标。如果查看breakdown by language,您会发现C#中只有大约55个KLOC用于所有项目(其中只有一个是实际的Agility Pack程序集),其中大部分是(我怀疑)大括号和其他没有直接的“空白”在二进制文件中表示。此外,只是浏览它,它不会使用许多自动实现的属性,这些属性使用较少的代码行来实现相同的功能。例如:
Beverage
与
Decorator
12行代码与1 代码相同的编译代码。
所有这一切都表明,使用代码行作为程序“大小”的指标有很多警告。
答案 1 :(得分:-2)
它可能来自您代码中的调试信息。如果您进行系统库调用(减小大小)或使用大量自己编写的库,这也取决于它。