文档章节

防御性编程

震旦
 震旦
发布于 2015/07/29 09:26
字数 232
阅读 110
收藏 7

以下内容来源于互联网

————————————————————————————

主要思想:子程序不因传入错误数据而被破坏,将出错造成的影响控制在最小的范围内。

需要注意的方面

  1. 使用好的编码风格,尽量使用有意义的变量名

  2. 写代码之前做到心中有数,不要仓促编写代码。代码分支部分考虑所有可能的情况。

  3. 不要相信用户--电话号码输入框,他们可能输入中文,因为等,需要验证

  4. 代码要清晰,不要简洁。允许冗余,别人好维护

  5. 检查函数返回值,返回可能有问题


总结:注意的地方大概在三个地方

  1. 客户端输入

  2. 函数输出

  3. 代码结构本身清晰、分支全面


© 著作权归作者所有

震旦
粉丝 3
博文 21
码字总数 3335
作品 0
海淀
程序员
私信 提问
防御性编程

Author:bakari Date:2012.8.25 本篇是我根据网上的一些陈述经过整理和总结而得。其中详细的内容我会标注出处。看不懂的可以查看原文. 一、什么事防御性编程 详细请见:http://www.uml.org....

chambai
2012/08/27
0
0
想写无Bug的安全代码?看防御性编程的艺术

本文由伯乐在线 -一杯哈希不加盐 翻译,刘唱 校稿。未经许可,禁止转载! 英文出处:Diego Mariani。欢迎加入翻译组。 为什么开发者不编写安全的代码?我们在这并不是要再一次讨论「整洁代码...

伯乐在线
2017/02/21
0
0
一个交换程序的通用版本

Author:bakari Date:2012.9.3 交换程序是每个开始学习编程的人必学习的一个初级算法。算法思想很简单,就是为两个交换的双方在定义一个第三者即可。但越学到后面,你也许会发现这个程序也是...

chambai
2012/09/07
0
0
Effective Java 第三版——50. 必要时进行防御性拷贝

Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本。 50. 必要时进行防...

M104
01/15
0
0
分享10篇PHP热门技术文章

本文精选了 PHP开发 者2016年4月和5月的10篇热门文章。其中有技术分享和技术资源。 《为什么大型网站前端使用PHP后台逻辑用Java?》 前两周参加完 ThinkInLamp 的 PHP 架构师大会,听鸟哥一上...

小懒人23
2016/06/03
49
0

没有更多内容

加载失败,请刷新页面

加载更多

Java8

package com.shi.lambda;import java.util.Arrays;import java.util.List;import org.junit.Test;import com.shi.model.Employee;/** * 初始化案例 * @author xiaosh......

小小小施爷
17分钟前
1
0
c# 动态编译代码

有时候做计算一些东西时候,算法一直变更,写在程序需要一直调整,因此算法写在cs文件,然后动态调用内部的方法去计算判断,只需变更cs文件即可。 static void Main() { Stopwatch watch = n...

朝如青丝暮成雪
18分钟前
2
0
好程序员技术分享html5和JavaScript的区别

好程序员技术分享html5和JavaScript的区别,HTML5广义上讲是前端开发学科的代名词,包含HTML5、CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称。如PC端网站、管理系统、手机网...

好程序员IT
20分钟前
1
0
tomcat 与 spring boot 设置虚拟路径

tomcat 设置虚拟路径 <Context path="/uploadDir" docBase="/data"/>path是请求访问的路径docBase是服务器存储文件的路径,Linux 根目录下 data spring boot 虚拟路径设置 registry.addRe......

kdy1994
23分钟前
1
0
var ,let ,const 的区别和共同点

一、let和var区别 1.关于变量提升,var能变量提升,let不能 // 关于var 如下所示console.log(a); //输出undefined,此时就是变量提升var a = 2; console.log(a); //2 //相当于下面...

MrBoyce
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部