1 / 19
文档名称:

软件开发编码规范.doc

格式:doc   大小:2,088KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件开发编码规范.doc

上传人:916581885 2021/6/30 文件大小:2.04 MB

下载得到文件列表

软件开发编码规范.doc

文档介绍

文档介绍:软件开发编码规范
软件安全开发编码规范
代码编写
开发人员应保证工程中不存在无用的资源(如代码、图片文件等)。
代码中每个类名上的注释必须留下创建者和修改者的名字。
每个需要import的类都应使用一行import声明,不得使用import xxx.*。
()仅在调试时使用,正式代码里不应出现。
开发人员编写代码时应遵循以下命名规则:
Package 名称应该都是由一组小写字母组成;
Class 名称中的每个单词的首字母必须大写;
Static Final 变量的名称全用大写,并且名称后加注释;
参数的名称必须和变量的命名规范一致;
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名称。
代码应该用unix的格式,而不是windows的。
exit 除了在 main 中可以被调用外,其他的地方不应被调用。
代码中应尽量使用interfaces,不要使用abstract类。
在需要换行的情况下,尽量使用 println 来代替在字符串中使用的"\n"。
涉及HTML的文档, transitional文件类型,其中所有HTML标签都应关闭。
在HTML、JavaScript、XML代码中,缩进应为两个空格,不得使用Tab。
HTML标签的name和id属性的命名方式应与Java变量名相同。
在需要经常创建开销较大的对象时,开发人员应考虑使用对象池。
在进行log的获取时开发人员应尽量使用isXXXEnabled。
log的生成环境上尽量避免输出文件名和行号。
产品中不要包含***代码,隔离系统中的***代码,确保其不能出现在产品中。作为一种特殊的调试代码,***访问代码是为了使开发者和测试工程师访问一部分终端用户不能访问的程序代码。但是,如果***代码被留到产品中,对攻击者来说,它就是一条不需要通过正常安全手段来攻陷系统的通路。
JAVA安全
遵循下面列出的准则有利于编写更加安全的代码。但是总体来说,这些准则不能对安全性做出任何保证。遵循这些准则可能好的实践,但是即使遵循了这些准则,写出的代码仍然可能是不安全的。风险永远存在,不管在编写代码时是如何的警觉。
这些准则的目标,不是为了保证代码的安全性,而是为了消除若干特定类型攻击带来的风险。遵循这些准则,某些特定类型的
(package-private)能否改成私有成员(private),保护访问成员(protected)可否改成包访问权限成员(package-private)/私有成员(private)等等。
公共方法/字段
公共变量应当避免使用,访问这些变量时应当通过getter/setter法。在这种方式下,必要时可以增加集中的安全检查。
任何能够访问或修改任何敏感内部状态的公共方法,务必包含安全检查。
参考如下代码段,该代码段中不可信任代码可能修改TimeZone的值:
private static TimeZone defaultZone = null;
public static synchronized void setDefault(TimeZone zone)
{
defaultZone = zone;
}
保护包
有时需要整体上保护一个包以避免不可信任代码的访问,本节描述了一些防护技术:
防止包注入:如果不可信任代码想要访问类的包保护成员,可能通过在被攻击的包内定义自己的新类用以获取这些成员的访问权的方式。防止这类攻击的方式有两种:

...
=Package#1 [,Package#2,...,Package#n]
...
当检测到代码试图在包内定义新类时,类装载器的defineClass方法会抛出异常,除非代码被赋予以下权限:
...
RuntimePermission("defineClassInPackage."+package)
...
另一种方式是通过将包放到封闭的JAR(sealed Jar)文件里。
(参看/docs/guide/extensions/)
通过使用这种技巧,代码无法获得扩展包的权限,。
防止包访问:可以通过限制包访问但同时仅赋予特定代码访问权限防止不可信任代码对包成员的访问。