文档章节

代码精进之路读后感(二)

o
 osc_a22drz29
发布于 2019/03/26 15:26
字数 938
阅读 7
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

 

昨天拜读了范学雷老师的代码精进之路第一篇,很有感悟,今天继续来读一读第二篇,昨晚想多看几篇的,结果去健身耽搁了,话说运动运动有点舒服,据说多运动肾好也不知道真的假的,话不多说我们说正事(又有点击查看源网页,无所谓,你们自己启动眼屏蔽就行了)

范老师的第二篇讲的是把错误关在笼子里的五道关卡

作为一只正在努力成为老母鸡的小菜鸡,我也是看完文章才知道原来苹果ye也爆出过这木简单而又严重的代码错误,一场由多加一行goto fail的引发的惨案,不吹不黑,就这种错误我常出啊,看来我再不知不觉中已经有了苹果工程师的水准了吗,这木神奇的吗?其实仔细想想也是,再大的公司再厉害的大牛,也不可能做到一点问题没有,毕竟我们又不是神,所以肯定有存在思维上的局限性。

 

其实在我个人看来出bug并不是一件很坏的事情,相反我觉得还是一个非常好的事情,他能给你当头一棒,让你知道这里我不该这样用,这里我应该怎么修改

范老师一共总结了五条将bug关在笼子里方法

这跟关羽过五关斩六将一样,bug就是关羽,而你就是守城的小老弟,要是五道关口都被过了,恭喜你怕不是又要被老大按着头怼,这木简单的代码你都能写成这样?

程序员属于第一道关卡,一般来说,守在前面的都是比较菜的,但是我们可以通过提高自身的素质来守住bug,这里我们先不谈技术行不行,就谈一下规范,当你写代码的时候正确使用缩进,以及注释以及配对括号,那是不是会大幅度降低我们出bug的概率,退一万步讲就算出了bug我们也能较快的定位出bug所在。

第二道关卡就是我们的编译器,这个比我们老婆还亲,我这木说,你每天盯着他的时间比盯着你老婆的时间长太多了,是不是(当然,没老婆的那可就难受了啊,螺旋嘲讽)

当我们编码时,编译器会爆出一些警告,对于警告,我们一定要提高警惕,最好是清除到所有的警告,防止后续出现问题

第三道关,回归测试,这个环节就需要测试人员来协助老大一起怼你了,每次我们测试从我身边过我都瑟瑟发抖,生怕自己的bug出了代码,吓得我话都不会说了

第四道关,代码评审(Code ReView),这个环节是需要钛合金狗眼发挥作用的时刻了,一堆眼睛一起检查代码,以揪出被忽视的错误

最后一关,代码分析(Code Analysis),静态代码分析(Static Code Analysis)是通过对源代码的检查来发现潜在问题的⼀种软件质量保障⽅式。有很多静态代码分析⼯具可以帮助检查代码缺陷⽐如说商业软件Coverity以及开源软件FindBugs,这关再过那怕是你又要在角落被人怼

为了更好的活下去,我们一定要尽量把bug掐死在第一关,而不是在第一关就被bug斩下狗头

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
代码生成器--Codgen

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节...

黄天政
2013/01/29
1.4W
2
数据库代码辅助工具--MaoCaiJun.Database

MaoCaiJun.DataBase 是一个用于 Microsoft Visual Studio 的数据库代码生成组件。它是基于 xml 文件的代码创建工具,支持sql2000,sql2005,sql2008,access, SQLite MaoCaiJun.Database 数据库...

mccj
2013/02/06
2.3K
1
C/C++ 代码文档生成器--cldoc

cldoc 是一个使用 clang 实现的 C/C++ 代码文档生成器。 特点: 使用 clang 可靠解析大多数复杂的 C++ 项目 零配置 使用 markdown 做为文档格式 生成描述 API 的 XML 文档 使用简单格式用于文...

匿名
2013/02/14
1.4K
0
代码检索工具--CodeQuery

CodeQuery 是一个用来搜索 C/C++、Java 源码的索引工具。基于 cscope 和 ctags 构建,使用 cqmakedb 工具来生成 CodeQuery 数据库文件,然后通过 GUI 工具进行查看。 支持搜索:符号、函数、...

匿名
2013/02/25
2.7K
0
代码生成的底层应用框架--fastCSharp

fastCSharp是一个基于.NET元数据的代码生成的底层应用框架,目标是打造一个“开发+运行”效率双优的开源框架。 经过半年多的时间,除了与web开发直接相关的部分,都已经在fastCSharp part 1...

fastCSharp
2013/05/29
3.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

什么是移动语义? - What is move semantics?

问题: I just finished listening to the Software Engineering radio podcast interview with Scott Meyers regarding C++0x . 我刚刚结束了对Scott Meyers进行的有关C ++ 0x的Software En......

技术盛宴
47分钟前
24
0
算法与数据结构体系课

算法与数据结构体系课【超清原画】 下载地址:百度云盘 从0到工作5年,面试、进大厂、搭建知识体系、拓展技术上限 你不再需要其它算法与数据结构课程了 为什么学算法已经是一个不应该问的问题...

1930133570
今天
21
0
如何停止跟踪并忽略对Git中文件的更改? - How to stop tracking and ignore changes to a file in Git?

问题: I have cloned a project that includes some .csproj files. 我已经克隆了一个包含一些.csproj文件的项目。 I don't need/like my local csproj files being tracked by Git (or bei......

富含淀粉
今天
25
0
Redis阻塞

可能存在问题 内在原因:API或数据结构使用不合理、CPU饱和、持久化阻塞等 外在原因:CPU竞争、内存交换、网络问题等 问题处理: API或数据结构使用不合理,可能存在慢查询或者大对象: 发现...

游泳鸟
今天
17
0
OSChina 周五乱弹 —— 来人,上幼儿园老师跳舞的图!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑:《奇跡の海》- 坂本真綾 《奇跡の海》- 坂本真綾 手机党少年们想听歌,请使劲儿戳(这里) 巴蜀(@巴拉迪维)最近有点闹心了, @巴...

小小编辑
今天
64
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部