软件开发编码规范

软件开发编码规范

ID:47649410

大小:67.00 KB

页数:12页

时间:2020-01-31

软件开发编码规范_第1页
软件开发编码规范_第2页
软件开发编码规范_第3页
软件开发编码规范_第4页
软件开发编码规范_第5页
软件开发编码规范_第6页
软件开发编码规范_第7页
软件开发编码规范_第8页
软件开发编码规范_第9页
软件开发编码规范_第10页
资源描述:

《软件开发编码规范》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.word格式,软件安全开发编码规范1.代码编写1)开发人员应保证工程中不存在无用的资源(如代码、图片文件等)。2)代码中每个类名上的注释必须留下创建者和修改者的名字。3)每个需要import的类都应使用一行import声明,不得使用importxxx.*。4)System.out.println()仅在调试时使用,正式代码里不应出现。5)开发人员编写代码时应遵循以下命名规则:lPackage名称应该都是由一组小写字母组成;lClass名称中的每个单词的首字母必须大写;lStaticFinal变量的名称全用大写,并且名称后加注释;l参数的名称必须和变量的命名规范一致

2、;l使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名称。6)代码应该用unix的格式,而不是windows的。7)exit除了在main中可以被调用外,其他的地方不应被调用。8)代码中应尽量使用interfaces,不要使用abstract类。9)在需要换行的情况下,尽量使用println来代替在字符串中使用的""。,专业.专注..word格式,1)涉及HTML的文档,尽量使用XHTML1.0transitional文件类型,其中所有HTML标签都应关闭。2)在HTML、JavaScript、XML代码中,缩进应为两个空格,不得使用Tab。3)HT

3、ML标签的name和id属性的命名方式应与Java变量名相同。4)在需要经常创建开销较大的对象时,开发人员应考虑使用对象池。5)在进行log的获取时开发人员应尽量使用isXXXEnabled。6)log的生成环境上尽量避免输出文件名和行号。7)产品中不要包含后门代码,隔离系统中的后门代码,确保其不能出现在产品中。作为一种特殊的调试代码,后门访问代码是为了使开发者和测试工程师访问一部分终端用户不能访问的程序代码。但是,如果后门代码被留到产品中,对攻击者来说,它就是一条不需要通过正常安全手段来攻陷系统的通路。1.JAVA安全遵循下面列出的准则有利于编写更加安全的代码。但

4、是总体来说,这些准则不能对安全性做出任何保证。遵循这些准则可能好的实践,但是即使遵循了这些准则,写出的代码仍然可能是不安全的。风险永远存在,不管在编写代码时是如何的警觉。这些准则的目标,不是为了保证代码的安全性,而是为了消除若干特定类型攻击带来的风险。遵循这些准则,某些特定类型的攻击将无法实现;但是其它类型的攻击仍然可能成功。因此遵循这些准则仅仅是安全的第一步。当书写可能和非守信链接或混用的代码时,应当仔细的考虑如下准则:,专业.专注..word格式,n静态字段n缩小作用域n公共方法和字段n保护包n尽可能使对象不可变(immutable)n序列化n清除敏感信息1)静

5、态字段避免使用非final的公共静态变量,应尽可能地避免使用非final公共静态变量,因为无法判断代码有无权限改变这些静态变量的值。一般地,应谨慎使用可变的静态状态,因为这可能导致设想中应该相互独立的子系统之间发生不曾预期的交互。2)缩小作用域作为一个惯例,尽可能缩小成员方法和成员变量的作用域。检查包访问权限成员(package-private)能否改成私有成员(private),保护访问成员(protected)可否改成包访问权限成员(package-private)/私有成员(private)等等。3)公共方法/字段公共变量应当避免使用,访问这些变量时应当通过g

6、etter/setter法。在这种方式下,必要时可以增加集中的安全检查。任何能够访问或修改任何敏感内部状态的公共方法,务必包含安全检查。参考如下代码段,该代码段中不可信任代码可能修改TimeZone的值:privatestaticTimeZonedefaultZone=null;,专业.专注..word格式,publicstaticsynchronizedvoidsetDefault(TimeZonezone){defaultZone=zone;}1)保护包有时需要整体上保护一个包以避免不可信任代码的访问,本节描述了一些防护技术:u防止包注入:如果不可信任代码想要访

7、问类的包保护成员,可能通过在被攻击的包内定义自己的新类用以获取这些成员的访问权的方式。防止这类攻击的方式有两种:a.通过向java.security.properties文件中加入如下文字防止包内被注入恶意类。...package.definition=Package#1[,Package#2,...,Package#n]...当检测到代码试图在包内定义新类时,类装载器的defineClass方法会抛出异常,除非代码被赋予以下权限:...RuntimePermission("defineClassInPackage."+package)...b.另一种方式是通过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。