在尽力保证代码质量的情况下,多少行代码算大型项目

2021-01-15 15:11:29 +08:00
 maocat

这两天刚把写了半年多的 web 后端( Python 语言)部署线上,闲来没事,写了个小脚本遍历了下代码行数,缝缝补补一万多行的代码量,突然有个牢骚,问下各位大佬,在尽力保证代码质量的情况下,多少行代码算大型项目 [斜眼笑]

7931 次点击
所在节点    程序员
38 条回复
wangyanrui
2021-01-16 00:13:42 +08:00
看用户体量和访问频次等,大不大的,和代码总量没直接关联关系吧😂😂
YYYeung
2021-01-16 01:31:19 +08:00
当代码库变成不敢乱改的屎山......
YYYeung
2021-01-16 01:34:50 +08:00
@YYYeung 不好意思,一下子激动,忽略了「尽力保证代码质量的情况下」
Mac
2021-01-16 01:50:38 +08:00
除了 hello world 之外都算,因为我懒
iConnect
2021-01-16 08:25:39 +08:00
@raaaaaar #12 楼说的才有意义。纯粹数行数并不能显示项目的真实大小,信息密度才是更关键的指标。

一堆低密度代码到处复制,很快就能形成大项目。真正高信息密度的代码,只需 100 行就能让大脑炸裂。
liuzhedash
2021-01-16 09:20:53 +08:00
个人经验如下:
1w 行:指哪打哪,需要改啥很快就能搞定
5w 行:需要想应该怎么分不同的包 /命名空间,新 feature 应该怎么设计
10w 行:频繁 code review,防止菜鸡同事写出浆糊代码
100w 行+:保证 bug 不比 feature 多,其他都是虚的
Kirie
2021-01-16 09:23:26 +08:00
不能在合理时间内完成编译的代码
lplusk
2021-01-16 09:55:24 +08:00
至少需要一个专业的 QA 负责把控项目质量 => 中型规模以上项目
至少需要五个专业的 QA 负责把控项目质量 => 可被称为大型项目
xytest
2021-01-16 11:11:41 +08:00
我觉得通过代码行数 /代码质量去鉴别的话无异议,应该看有多少人用。一百万行一万个人用,一万行一百万人用。
auh
2021-01-16 11:47:33 +08:00
统计代码行数的那个命令。发现几个问题:

1.cat
2.正则.未转义,后面的 grep $^的匹配看不懂
3.注释未排除
cs010
2021-01-16 14:51:03 +08:00
@cloudfstrife #1 你这个命令怕是统计不了大型项目😂
FrankHB
2021-01-16 17:25:32 +08:00
楼上某位,一个 cloc . 搞定的东西怎么还要敲 find ……
FrankHB
2021-01-16 17:29:35 +08:00
@ripperdev 大约说明废话太多。
我一个就几千行的( https://github.com/FrankHB/YSLib/blob/master/YFramework/source/NPL/NPLA1Forms.cpp )就能让 GCC 爆炸,4 小时吃 8GB RAM 然后链接失败,不得不 -fno-lto -fno-var-tracking-assignments (
(这还是拆过的,之前直接炸穿 i686 cc1plus 地址空间了。)
daijialong
2021-01-16 17:58:59 +08:00
当你的项目代码有 10 个 G 大小就是大型项目了
FrankHB
2021-01-16 17:59:23 +08:00
……还是提一下,cloc 看代码布局加 exclude 。
漏 exclude Doxygen 输出和中间文件的后果示例↓
46781 text files.
43547 unique files.
34322 files ignored.

github.com/AlDanial/cloc v 1.88 T=126.44 s (178.4 files/s, 38595.5 lines/s)
---------------------------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------------------------
SVG 9966 1542 335083 2176438
XHTML 4757 57977 23785 1116573
D 2285 30320 0 377237
TeX 1919 83885 259 254049
C/C++ Header 608 33011 113036 112729
JavaScript 2451 207 274 64269
C++ 161 6744 6978 37622
C 4 588 384 9949
XML 80 17 68 9509
Windows Module Definition 6 4 0 5135
HTML 258 0 4369 4895
diff 1 207 1565 2904
CSS 5 350 48 1943
MSBuild script 1 0 0 1670
Bourne Shell 24 243 354 1208
make 14 325 327 900
Markdown 4 306 0 381
XSLT 1 28 2 202
YAML 1 2 11 83
DOS Batch 14 13 0 62
Python 1 0 0 38
JSON 1 0 0 6
---------------------------------------------------------------------------------------
SUM: 22562 215769 486543 4177802
---------------------------------------------------------------------------------------
janus77
2021-01-16 20:18:00 +08:00
我大概估算一下我现在开发的项目应该是 50-100w 行,我觉得算中型吧
大型感觉要百万
paoqi2048
2021-01-18 22:21:37 +08:00
@cloudfstrife 是 grep -v ^$吧?
cloudfstrife
2021-02-04 11:56:24 +08:00
@paoqi2048 #37 是的,写错了,敲太快了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/745251

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX