防微杜渐——读《C安全编码标准》
防微杜渐——读《C安全编码标准》
首先这本书的名字是非常洋气的——《C安全编码标准》。然而映入眼帘的却不仅仅是冷冰冰的编码,还有那一套非常严谨的风险评估标准和问题处理方法。对于大型的软件工程,debug是其中必不可少的一部分,也是非常繁琐的一部分。那么如何通过合适的管理方法来将失误掐灭在萌芽状态,就是这本书讲述的内容。
虽然这本书仅仅以C语言为例,但是它的思想核心确实非常普适的。一方面我们要善于发现问题,同时也要善于求助,作者在编写本书的过程中借助了一些网络社区和Wiki的帮助,再加上自己的处理,才让这本书活色生香。更巧妙的是,Wiki作为本书的延伸,还将不断地扩充,形成了一个动态的C安全编码的生态环境。这种长远的眼光在令我赞叹的同时,也令我深思,在如今这个时代,团队协作越来越成为一种潮流,而用户群体的主动发现,汇报并解决问题的流程同样可以不恰当地形容为一种团队协作,这是一种无意识但异常强大的力量。如果我们能够在开发产品的过程中善用这份力量,将会使我们事半功倍。
从另一个方面来看,系统化地将问题(建议)归类也是本书成功的一点原因。本书中对的风险评级和优先级的量化使用令我印象颇深。通常我们在日常的学习生活中,错误就是错误,并不会有意识地将其归类,更别说量化其风险评级了。而对于一个项目来说,量化问题的风险和优先度能够为解决问题提供一个很好的指南。对于“这个问题好像要花费更多的时间,那个应该少一点”这种语句来说,“这个bug的优先度是L3,那个是L2,所以先解决这个”更加简洁明快。推而广之,在今后的团队协作中,量化的思维依旧适用,从绩效考评到界面的设计,对模糊的言语来说,一个准确的数词描述总能够更胜一筹。
此外,危机意识和小心谨慎的确是大型项目中的法宝。纵观书中的许多问题,很多都是一些细小琐碎的错误。然而尽管是这样的小失误,在今后的日子中若日积月累,亦会导致巨大的漏洞。小心谨慎虽然不能帮助我们避免掉工作中的所有失误(显而易见,这也是不太可能的,毕竟人无完人,金无足赤),但是能够让我们回避一些致命的低级失误。而由于人的惰性吗,心理上的小心谨慎难以具体地施行,因此我们需要一些工具,制度来规范我们的行为。比如说GitHub,比如说visual studio,又比如说小组内制定的代码规范等等。好的工具和制度是有灵魂的,它不单单是一种冷冰冰的铁律,而是团队协作精神的集体体现。
因此,在团队协作构建一个项目期间,《C安全编码标准》给我带来的启示如上所述。对于我来说,团结和利用好用户是调试的一种好手段,量化评级则是有效交流和执行任务的稳固根基,危机意识和小心谨慎是团队成员抵御错误的坚实堤坝,有效利用这几点,相信将是我们良好工作的开端。
防微杜渐——读《C安全编码标准》的更多相关文章
- C#编码标准--编码习惯
C#编码标准--编码习惯 0. 书写程序时的大小写规则: a) 类:PascalCase表示法.如 MyClass b) 枚举值:PascalCase表示法.如 Colors.Red c) 枚举类型 ...
- javascript编码标准
前面的话 编码标准是有争议的.几乎每个人都有自己的标准,但对标准应该是什么样的,则似乎很少能达成共识.但编码标准意味着,通过共同语言和一致的结构,把开发人员从无意义的工作中解放出来.允许开发人员把创新 ...
- VP9 vs H.265——下一代视频编码标准的王道之争
目前下一代主流的视频编码标准有 ITU-T VCEG 推出来的 H.265 和 Google 推出 VP9 . H.265 在 H.264 的基础上保留其中的部分技术,并对相关技术加以改进研发而成.新 ...
- Java安全编码标准
Java安全编码标准 具体参考Rules 输入验证和数据净化(IDS)规则风险评估概要 IDS00-J净化穿越受信边界的非受信数据 IDS01-J验证前标准化字符串 IDS02-J在验证之前标准化路径 ...
- 视频基础知识:浅谈视频会议中H.264编码标准的技术发展
浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...
- C# 编码标准(二)
先八卦一下,昨天写了C# 编码标准(一),得到了@h82258652的补充,感到非常欣慰,一是感觉他的观点扩展了我的视野,丰富了我的看法,所以更坚定了我继续写博客的想法,由于是五笔打字,经常不写东西, ...
- 音视频处理之H264编码标准20170906
一. H264基础概念 1.名词解释 场和帧 : 视频的一场或一帧可用来产生一个编码图像.在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场. 片: 每个图象中,若干 ...
- Android编码标准
只是练习是很难找工作那会儿在,简历基本上都是赶出去石沉大海,因为有项目开发没有实践经验.没有牛逼的背景.更重要的是,没有真才实学,虽然我在大学时读的是计算机专业,它可以被认为是一个技术教育.但--你知 ...
- 关于nodejs的几个干货(读中文文件编码问题/发送邮件/定时任务)
关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了. 下面的三个知识点都是从项目中抽出的,要单独运行脚本的话需要用全局模式来安装模块,比如安装中文转换模块(后 ...
随机推荐
- Redis 缓存服务配置与使用
缓存服务器Couchbase另外一种选择Redis documentation http://redis.io/documentation http://redis.cn/documentation. ...
- SpringBoot开发使用@ImportResource注解影响拦截器
问题描述 今天在给SpringBoot项目配置拦截器的时候发现怎么都进不到拦截器的方法里面,在搜索引擎上看了无数篇关于配置拦截器的文章都没有找到解决方案. 就在我准备放弃的时候,在 CSDN 上发现了 ...
- 浅析Session和Cookie
Cookie Cookie的作用,就是当一个用户通过http访问一个服务器时,这个服务器会将一些key/value键值对返回给客户端浏览器,并给这些数据加上一些限制条件,在条件符合时这个用户访问该 ...
- Ice简介+Qt代码示例
1.ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,它封装并 ...
- Linux下清除catalina.out文件
在当前目录输入如下命令即可: cat /dev/null >catalina.out
- C#Redis 常用key操作
一.前戏 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点,即所有的操作都是针对与Ke ...
- Netty 源码剖析之 unSafe.read 方法
目录: NioSocketChannel$NioSocketChannelUnsafe 的 read 方法 首先看 ByteBufAllocator 再看 RecvByteBufAllocator.H ...
- ASP.NET div信息提示框显示几秒后隐藏
今天在旧系统中,用户要求,要把一个javascript alert的信息提示,改为Div tag来显示,它在显示时,仅显示几秒,然后隐藏,这样无需用户去点击alert信息框的确定或是关闭铵钮. 下面I ...
- .Net Core使用Socket与树莓派进行通信
前言 去年买的树莓派一直放在抽屉里吃灰,前些阵子Debian 9发布,也不出意外的支持了树莓派. 于是重新拿出读卡器又重新了装上了Debian桌面版系统. 介绍 现在这个东西目前的程度只是了解一下Py ...
- MVC解决WebFrom的缺点
来自:http://www.cnblogs.com/xiaozhi_5638/p/4019065.html ASP.NET Webforms Behind Code的好处和存在的问题 ASP.NET ...