×

源码库 代码

如何看待华为1100亿行规模的代码库?微盟被删库,数万用户躺枪,saas服务是否还会一统天下

admin admin 发表于2023-05-07 03:54:36 浏览46 评论0

抢沙发发表评论

本文目录

如何看待华为1100亿行规模的代码库

好吧,需要算算了。按美国平均水平,每个程序员每天10行代码,中国比较勤奋,就算30行吧!一人一年1万行吧。算下来大约是1100万人年。软件有生命期,好的情况下自己败坏周期在5-20年,质量一般的话,也就10年(如此大量代码,只能是行业平均水平)。也就是说,大约需要110万程序员。嗯,什么概念呢?大约至少得10个微软吧!

再说恐怖的,cmm3级(这不是平均水平,而是较高水平了),一千行大约3个问题出厂,1100亿大约是,3亿个bug(也就是3亿个问题)。解决这些问题足够让一个微软公司破产了。但华为活得好好的,其危机却与这个没关系。所以,可以明白的是目前华为的产品代码,绝对达不到这么大。如果此事真实,其中大多数代码应该被抛弃了,因为即便是cmm5也得有3千万bug,这不可能是真实的。

好了,如果代码库真的有这么多,到底是什么情况呢?估计多数是开源代码库的中依赖的部分复制和开发者保存的备份。这是防止断网影响项目进展的防范手段。所以别太嗨了。呵呵。

算完了,但果是不被质疑的。程序员的感受是,一天10行代码?搞笑呢?

那我先拿一个职业生涯中的例子看看个人生产情况:

我刚开始产品级编程是一个通信系统(与华为同行,可比较)。整个系统中开发2年,大约在1991-1993年。我负责系统中的一个核心模块编程项目。敲代码,我最快18小时,3000行汇编,这个小项目的全部代码,强实时,时钟级设计,无操作系统。但全过程过程实际算下来大约有将近6个月。包括原理设计,代码执行机制规划,算法设计,原理机验证测试,逻辑分析仪调试。那18个小时不过是敲代码,基本没有稍微深入一点的思考(主要思考内容:寄存器分配调配;内存效率;3级任务协调;周期计算;累加器溢出控制;可靠性监测周期等细节,以保持遵循详细设计定下的原则)。没有单元测试、没有功能测试、没有代码评审、没有团建和各种活动。(那台逻辑分析仪够我当时10年工资。)一天不到20行代码吧?

项目期间我为自己还开发了4000多行c语言的工具,有算法仿真工具的、有分解烧录文件的、有原型实验的。还有几百行快速编译的dos批处理文件。但这都与产品无关,算不上产品代码。当然还有过程中,放弃了20000行汇编(毕竟当时还是经验不足),主要是架构问题达不到要求,最终代码中没这个,也不能算。就呵呵了,难道连失败的东西都要算到工资奖金里吗?

项目结果:前两年和华为交流,他们说那套91年的代码实现的指标到现在也是先进的。那套代码到最后收到保险柜也没有再改过一行。这中间三年试运行,审查、鉴定、定型、销售,再没改过,所有性能、可靠性监测的保护机制从未启动过,最长运行时间是2万小时。

这是通信领域个人手工业作战的基本情况。

当这种工作被分解给多个人之后就是团队计算了。这是软件工业难点之一:工时估算。

在产品市场问题解决后,开发成本估算就是软件开发难点。最现实的估算是,专家用背靠背评估最终实现代码行数。这些代码行数除以组织软件开发成熟度估算效率(也就是10行每人天的意义),再乘以开发团队的平均人天成本就可大致得到成本量级。所以,10行每人天的估算是开发团队组织效率的,不是程序员个人生产力。

另外:

1、代码库是一种软件工程中的保护机制,不反应软件生产的实际情况。

2、代码不是越多越好,任何以代码行数计算开发人员生产力的想法,都是很外行的。

微盟被删库,数万用户躺枪,saas服务是否还会一统天下

系统事故更多的是技术和管理决定的,管理更多的是人为因素和企业文化,和saas系统趋势没关系,相信会更好,在企业数字化的道路上,这是更多中小企业的第一选择,也是首要选择!


谷歌公司开发的alpha go是一个开放源代码软件库吗

谷歌的Alpha Go(阿尔法狗)是其人工智能和深度学习团队研发成果,有知识产权保护的,暂时不可能开放源代码或成为开放平台。

最新一代已经是Alpha Go Zero(阿尔法元),由谷歌(Google)旗下DeepMind公司戴密斯·哈萨比斯领衔的团队开发。目前的Demo应用是围棋对弈,阿尔法元(Alpha Go Zero)与阿尔法狗(Alpha Go)对弈的结果是100:0,实力碾压!

阿尔法狗通过人类棋局的深度学习并自己对弈了3000万局,训练历时几个月。阿尔法狗围棋(Alpha Go)是第一个战胜围棋世界冠军的人工智能机器人,在GoRatings网站公布的世界职业围棋排名中,其等级分曾超过排名人类第一的棋手柯洁。

DeepMind公司表示将利用Alpha Go应用在医疗领域,利用人工智能技术攻克现实现代医学中存在的种种难题。在医疗资源的现状下,人工智能的深度学习已经展现出了潜力,可以为医生提供辅助工具。研发这一人工智能的最终目的是为了推动社会变革、改变人类命运。

人工智能风潮起,如果谷歌能开放其源代码,那么肯定会加速整个行业发展。微软收购Github后,已经开放了很多软件能力和源代码,谷歌在Github上也开放了I/O源码,例如第二代机器学习系统TensorFlow,但需要二次开发和自己去做训练。


求一个按键精灵网页源代码,网页操作几个按键


当然行,写上xmlUrl = 找源代码的网页地址Set xmlHttp = CreateObject(“Microsoft.XMLHTTP“) xmlHttp.Open “Get“, xmlUrl, False xmlHttp.Send网页的源代码 = XmlHttp.ResponseText《“找源代码的网页地址”把你要找源代码的网页地址填上就行》《“网页的源代码”是返回值,不要照写》

按键精灵源代码


FindColor 0,0,1024,768,“0000FF“,intX,intY (前4个数字设置屏幕上找色的范围,0000FF是设置的颜色,自己调整)
If intX 》 0 And intY 》 0 Then
MoveTo intX, intY
Delay 200
LeftClick 1
Delay 200
End If