Zervan的小站 Zervan的小站
首页
  • 测评

    • 蓝牙耳机测评
  • 渗透

    • 网络渗透学习指南
  • 前端

    • 学习web开发
  • 版本控制与管理

    • Github入门与实践
  • 博客开发指南

    • 利用GitHub建立博客
  • 网文梗概-序
  • 我们的文学之路
  • 《世界观体系》
  • 《人物设定集》
  • 《诗集》
  • 《素材》
  • universe

    • 新冠疫情与外星人
  • human

    • 人的自由意志论
  • social

    • 科技的未来
  • school

    • 我们的大学
  • philosophy

    • 关于虚无主义
  • 日志
  • 支持我们
  • 友情链接
about
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Zervan

天下最普通的人之一
首页
  • 测评

    • 蓝牙耳机测评
  • 渗透

    • 网络渗透学习指南
  • 前端

    • 学习web开发
  • 版本控制与管理

    • Github入门与实践
  • 博客开发指南

    • 利用GitHub建立博客
  • 网文梗概-序
  • 我们的文学之路
  • 《世界观体系》
  • 《人物设定集》
  • 《诗集》
  • 《素材》
  • universe

    • 新冠疫情与外星人
  • human

    • 人的自由意志论
  • social

    • 科技的未来
  • school

    • 我们的大学
  • philosophy

    • 关于虚无主义
  • 日志
  • 支持我们
  • 友情链接
about
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 网文梗概-序
  • 我们的文学之路
  • 世界观体系

  • 人设

  • 诗集

  • 素材

  • 技术

    • bug的层次感
      • 写程序有N个层次
      • 一般来说:
    • 编程究竟难在哪?
    • 面向对象编程
    • 语言的地位
    • 为什么要写技术博客?
  • 写法

  • 笔记

  • ToRead
  • 技术
Zervan
2021-12-24

bug的层次感原创

# 写程序有N个层次

1、这个东西的原理是什么

2、我该如何把它用代码表达出来

3、这个表达方式究竟对不对?能不能通过编译?

4、为什么这行程序还有这么多副作用?它完全不按我预想工作怎么办?

5、我就是参考书,所有语句在内存在寄存器在任何地方的任何副作用全都门清!

6、这里的边界值究竟该用>呢,还是>=呢?分割点这个边界是写成j+1呢,还是j-1?

7、我才写了两行你给我7k报错……什么时候C++里面来了这么多双冒号这么多<>>><><><<>?!

# 一般来说:

纯看书能把1学好已经很不错了;

想到2就必须多思考;

想到3就必须多上机;

想到4就必须把微机原理、操作系统原理等等融会贯通(不需要很深,但起码得知道哪是哪);

想到5就得对编程痴迷,没用又疯又傻的经历,怎么可能把满篇鬼画符读出肉味。

想到6反而得从书里走出来,彻彻底底把自己的脑袋变成CPU,以至于见了代码无需实际运行静态分析都能把它的整个运行过程看的通通透透……

想到7就得跳出课本窠臼,自发的跟踪研读新技术——没错,泛型之类“过新”的技术并不在教材范围内,你必须有能力自己查资料自己教自己知识……

如果你想要在课堂上现场敲代码、敲完一遍过……那么不到5甚至6基本上是不可能的。然而很遗憾,这水平哪怕专业程序员都不多见——我在知乎说自己编程,不超2000行一般都能0 error 0 warn 0 bug一遍过,多少人骂我吹牛。

对绝大多数人来说,一段代码写完,编译运行255个错误(第255个错误是错误太多无法继续)才是正常现象;然后排错一排五六个小时(往往总还是会有一两个错误无论如何都找不到根源)……

google chrome每千行代码bug率为0.06;或者说平均每十万行代码有6个bug;或者说平均每一万行代码有0.6个bug。

Firefox的代码质量要更好一些,千行bug率仅为0.05;也就是说平均每两万行代码会有一个bug。

python千行代码bug率为0.003,一百万行代码有3个bug,或者33万行代码出一个bug。

ruby千行bug率为0.08。

PHP千行bug率为0.03——刚好比python差了十倍。写的真烂,三万三千行代码就有一个bug。

django的bug率为0.007,比python代码质量差了不少,十几万行代码就有一个bug。

ruby on rails的bug率为0.05。

总结起来就是,这些业界支柱级的开源项目,其每千行代码的bug数目介于0.003到0.08之间;或者说,平均每一万两千五百行代码到三十万行代码会出一个bug。

再看看这个,看看你们能不能被吓死:

业界平均每1000行代码有15到50个bug;微软released代码平均1000行有0.5个bug——而NASA的代码,50万行0bug!

看看这个数据,看看这些业界顶尖程序员的代码质量。

现在,看看我那可怜巴巴的、2000行代码0bug的记录,您觉得我是“代码质量真好”呢,还是“2000行无bug也值得出来吹”?

看着业界顶级程序员们的水平,我还觉得自己这两下子不够看呢;你们居然觉得是吹?

是我对自己要求太高呢,还是你们眼界太狭隘?

编辑 (opens new window)
#propreate
上次更新: 2022/6/28 21:52:22
《素材》
编程究竟难在哪?

← 《素材》 编程究竟难在哪?→

最近更新
01
修改nginx_conf部分配置
02-22
02
高学历宗教人士
12-04
03
理性思维
12-04
更多文章>
Zervan的小站 · VERSION: 1.0.128 · 基于vilivala构建 | pv と uv | Copyright © 2021-2023 | 鲁ICP备2021036977号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式