文章图片
文章图片
网传华为拥有1100亿行的代码库 , 接下来我们需要算算是不是真的 , 按美国平均水平 , 每个程序员每天10行代码 , 中国程序员比较勤奋 , 就算30行吧 , 一人一年1万行吧 , 算下来大约是1100万人年 , 软件有生命期 , 好的情况下自己败坏周期在5-20年 , 质量一般的话 , 也就10年(如此大量代码 , 只能是行业平均水平) 。 也就是说 , 大约需要110万程序员 。 什么概念呢?大约至少得10个微软吧 。
再说强大的 , cmm3级 , 一千行大约3个问题出厂 , 1100亿大约是 , 3亿个bug(也就是3亿个问题) 。 解决这些问题足够让一个微软公司破产了 , 但华为活得好好的 , 其危机却与这个没关系 , 所以可以明白的是目前华为的产品代码 , 绝对达不到这么大 , 如果此事真实 , 其中大多数代码应该被抛弃了 , 因为即便是cmm5也得有3千万bug , 这不可能是真实的 。 好了 , 如果代码库真的有这么多 , 到底是什么情况呢?估计多数是开源代码库的中依赖的部分复制和开发者保存的备份 , 这是防止断网影响项目进展的防范手段 , 所以别太嗨了 。 算完了 , 但果是不被质疑的 , 程序员的感受是 , 一天10行代码?搞笑呢?
【华为|华为拥有1100亿行规模的代码库?我差点就信了】
那我先拿一个职业生涯中的例子看看个人生产情况:我刚开始产品级编程是一个通信系统(与华为同行 , 可比较) 。 整个系统中开发2年 , 大约在1991-1993年 。 我负责系统中的一个核心模块编程项目 。 敲代码 , 我最快18小时 , 3000行汇编 , 这个小项目的全部代码 , 强实时 , 时钟级设计 , 无操作系统 。 但全过程过程实际算下来大约有将近6个月 。 包括原理设计 , 代码执行机制规划 , 算法设计 , 原理机验证测试 , 逻辑分析仪调试 。 那18个小时不过是敲代码 , 基本没有稍微深入一点的思考 , 没有单元测试、没有功能测试、没有代码评审、没有团建和各种活动 , 一天不到20行代码吧?
项目期间我为自己还开发了4000多行c语言的工具 , 有算法仿真工具的、有分解烧录文件的、有原型实验的 。 还有几百行快速编译的dos批处理文件 。 但这都与产品无关 , 算不上产品代码 。 当然还有过程中 , 放弃了20000行汇编 , 主要是架构问题达不到要求 , 最终代码中没这个 , 也不能算 。 就呵呵了 , 难道连失败的东西都要算到工资奖金里吗?项目结果:前两年和华为交流 , 他们说那套91年的代码实现的指标到现在也是先进的 。 那套代码到最后收到保险柜也没有再改过一行 。 这中间三年试运行 , 审查、鉴定、定型、销售 , 再没改过 , 所有性能、可靠性监测的保护机制从未启动过 , 最长运行时间是2万小时 , 这是通信领域个人手工业作战的基本情况 。
当这种工作被分解给多个人之后就是团队计算了 , 这是软件工业难点之一:工时估算 。 在产品市场问题解决后 , 开发成本估算就是软件开发难点 。 最现实的估算是 , 专家用背靠背评估最终实现代码行数 。 这些代码行数除以组织软件开发成熟度估算效率(也就是10行每人天的意义) , 再乘以开发团队的平均人天成本就可大致得到成本量级 。 所以 , 10行每人天的估算是开发团队组织效率的 , 不是程序员个人生产力 。 另外 , 代码库是一种软件工程中的保护机制 , 不反应软件生产的实际情况 。 代码不是越多越好 , 任何以代码行数计算开发人员生产力的想法 , 都是很外行的 。
- 华为|三星官宣加入了断供队伍,给华为提供了更多的可能!
- 华为mate|华为Mate50Pro概念机:这样的瀑布屏太吸睛了,又要领先iPhone13
- 华为|两大喜讯传来!富满微、华为接连宣布,郭平果然说到做到
- 华为|低功耗无线soc技术,打造蓝牙Mesh协议栈,飞睿科技乐鑫代理商
- 华为鸿蒙系统|美国两大芯片巨头接入华为鸿蒙、欧拉,真实原因细思极恐!
- 华为荣耀|华为Nova8Pro对比荣耀30Pro,哪个的性价比更高些?
- 英特尔|华为Nova 10Pro很“哇塞”,将搭载HarmonyOS3,或取消曲面屏
- MySQL|华为首款亿级像素nova 9 SE渲染图曝光 价格喜人
- 华为|华为吃饭的讲究:1个餐厅堪比两个足球场,让赚钱多的领导来买单
- 闪存|OPPO华为iPhone拍视频对比