项目代码编写技巧
关于JavaScript
<!--[if !supportLists]-->1、 <!--[endif]-->使用JAVASCRIPT验证表单,必须同时使用JAVASCRIPT提交表单,而不是使用type=submit的按钮提交表单。这样用户在IE设置中禁止脚本之后,数据验证被屏蔽的同时,表单也无法提交。
<!--[if !supportLists]-->2、 <!--[endif]-->JavaScript变量和函数的命名要求同JAVA代码。局部变量必须使用VAR定义,避免使用全局变量。如:Var i,j;
<!--[if !supportLists]-->3、
<!--[endif]-->在编辑页面的保存、审核、反审核等javascript函数的开始处,一般需要下面代码,以防止页面按钮重复提交问题。
<!--[if gte vml 1]><v:shapetype id="_x0000_t202"
coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">
<v:stroke joinstyle="miter" />
<v:path gradientshapeok="t" o:connecttype="rect" />
</v:shapetype><v:shape id="_x0000_s1027" type="#_x0000_t202" style='position:absolute;
left:0;text-align:left;margin-left:0;margin-top:7.8pt;width:468pt;height:85.8pt;
z-index:2' /><![endif]--><!--[if !vml]-->
<!--[endif]--><!--[if !mso]-->
<!--[endif]-->
document.edit.store.disabled
= true;
document.edit.Submit.disabled
= true;
或者
document.edit.Submit.disabled
= false;
document.edit.store.disabled
= false;
<!--[if !mso]--> |
<!--[endif]--><!--[if !mso & !vml]--> <!--[endif]--><!--[if !vml]--> |
<!--[endif]-->
关于HTML
<!--[if !supportLists]-->1、 <!--[endif]-->要特别注意大小写,虽然在windows下没有区分,但是unix是区分的,并且该问题在windows下可能不能被检出。
<!--[if !supportLists]-->2、 <!--[endif]-->所有链接不允许使用根目录符号“/”,只能以本文件所在目录为开始路径寻找需要的文件,即使用“./”或者“../”两种方式来寻找文件。
<!--[if !supportLists]-->3、 <!--[endif]-->HTML变量的命名按照JAVA代码规范,并且表单变量的名称必须与对应的ValueObject成员变量的名称一致。
<!--[if !supportLists]-->4、 <!--[endif]-->使用缩进的格式,具体格式要求同JAVA代码。(避免使用tab字符,缩进长度为4个空格)
<!--[if !supportLists]-->5、 <!--[endif]-->使用统一的css文件,规范编排格式;所以表格不允许指定高度、字体无需指定size、font等。
<!--[if !supportLists]-->6、 <!--[endif]-->尽量少用Struts的<html>标签库,而是直接写html代码,便于使用可视化编辑工具。
<!--[if !supportLists]-->7、 <!--[endif]-->若非特殊情况,不允许在JSP页面直接写JAVA代码。所以如果使用scriptlet,必须写清楚使用的原因以及影响。
<!--[if !supportLists]-->8、
<!--[endif]-->在HTML的HEAD部分,一般都会有类似的代码,以便于IE确定文件的编码方式和减少IE缓存而导致的数据重复提交、数据不一致等问题,同时指定页面显示风格、引用常用javascript函数包。
<!--[if gte vml 1]><v:shape id="_x0000_s1026" type="#_x0000_t202"
style='position:absolute;left:0;text-align:left;margin-left:0;margin-top:7.8pt;
width:468pt;height:124.55pt;z-index:1' /><![endif]--><!--[if !vml]-->
<!--[endif]--><!--[if !mso]-->
<!--[endif]-->
<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8">
<meta
http-equiv="Expires" content="0">
<meta
http-equiv="Pragma" content="no-cache">
<meta
http-equiv="Cache-Control" content="no-cache">
<link
rel="stylesheet" href="../CSS/style.css"
type="text/css">
<script
language="Javascript"
src="../Script/util.js"></script>
<script
language="Javascript" src="../Script/utilfloat.js"></script>
<!--[if !mso]--> |
<!--[endif]--><!--[if !mso & !vml]--> <!--[endif]--><!--[if !vml]--> |
<!--[endif]-->
<!--[if !supportLists]-->9、 <!--[endif]-->如果使用DreamWeaver编辑页面,一定要先设置编码为UTF-8。
关于Struts
<!--[if !supportLists]-->1、 <!--[endif]-->统一使用关键字action的原因是可以方便的实现用户权限判定。
页面session超时验证和系统登陆用户验证
系统登陆用户信息统一存放在名称为SYSUser_Login的Session中;每个Action类的perform函数开始部分需要验证session是否超时、用户是否已登陆,单元测试代码如下:
//begin get
the session and the test login user
HttpSession
session = httpServletRequest.getSession();
SYSSysuser
usrTest = SYSSysuserProxy.findSYSSysuser(new Long(1));
session.setAttribute("SYS_SYSUser_Login",usrTest);
//end get
the session and the test login user
<!--[if !supportLists]-->n
<!--[endif]-->提交集成时上面代码需要修改为:
//begin get
the session and the login user
HttpSession
session = httpServletRequest.getSession(false);
if (session == null ||
session.getAttribute("SYS_SYSUser_Login") == null)
throw new
GeneralException(ExceptionType.SESSION_TIME_OUT_EXCEPTION, "In
Action.perform()");
//begin get
the session and the login user
关于JAVA
<!--[if !supportLists]-->1、 <!--[endif]-->尽量保持简洁明了,长度尽量限制在25个字符以下。
<!--[if !supportLists]-->2、 <!--[endif]-->不要使用下划线、美元符号开头的标识符,尽管这在语法上是允许的。
<!--[if !supportLists]-->3、 <!--[endif]-->使用完整的单词,避免使用只取首字母的简写词和缩写词(除非缩写词比完整词汇的使用更广泛,比如URL,HTML)。
<!--[if !supportLists]-->4、
<!--[endif]-->采用客户该领域的词汇(例如:如果用户称他们的客户为Customer而不是Client,就要求使用Customer)。
<!--[if !supportLists]-->5、
<!--[endif]-->避免使用“神秘数”,而是使用常量来代替。
<!--[if !supportLists]-->6、
<!--[endif]-->常量使用大写字母和下划线“_”组成的字符串。
<!--[if !supportLists]-->7、
<!--[endif]-->源代码一行不要超过80个字符,超过80个字符就使用折行(Warpping Line)
<!--[if !supportLists]-->8、
<!--[endif]-->避免在源程序中使用Tab
<!--[if !supportLists]-->9、
<!--[endif]-->pakage放在import之前,import必须输入完整的类名。优先列出本项目的包,然后才是标准库。
<!--[if !supportLists]-->10、
<!--[endif]-->空白 Blank
<!--[if !supportLists]-->10.1、
<!--[endif]-->在while、for、if、switch等关键字与判断条件之间加上空格。
<!--[if gte vml 1]><v:shape id="_x0000_s1028"
type="#_x0000_t202" style='position:absolute;left:0;text-align:left;
margin-left:45pt;margin-top:4.15pt;width:369pt;height:54.6pt;z-index:3'>
<v:textbox style='mso-next-textbox:#_x0000_s1028' />
</v:shape><![endif]--><!--[if !vml]-->
|
|
<!--[endif]--><!--[if !mso]-->
<!--[endif]-->
while
(true){
statements;
}
<!--[if !mso]--> |
<!--[endif]--><!--[if !mso & !vml]--> <!--[endif]--><!--[if !vml]--> |
<!--[endif]-->
10.2、在函数的多个参数之间加上空格。
<!--[if gte vml 1]><v:shape id="_x0000_s1029"
type="#_x0000_t202" style='position:absolute;left:0;text-align:left;
margin-left:45pt;margin-top:4.15pt;width:369pt;height:23.4pt;z-index:4'>
<v:textbox style='mso-next-textbox:#_x0000_s1029' />
</v:shape><![endif]--><!--[if !vml]-->
|
|
<!--[endif]--><!--[if !mso]-->
<!--[endif]-->
myMethod(arg1,
arg2, arg3);
<!--[if !mso]--> |
<!--[endif]--><!--[if !mso & !vml]--> <!--[endif]--><!--[if !vml]--> |
<!--[endif]-->
10.3、一元运算符与变量之间不能加空格。如:argv++;
<!--[if !supportLists]-->11、
<!--[endif]-->变量声明之后,应该马上对变量进行初始化。
<!--[if !supportLists]-->12、
<!--[endif]-->变量应该在块(block)的开始部分集中声明,而不是用到的时候才声明。(临时变 量、循环变量、异常变量除外)
<!--[if !supportLists]-->13、
<!--[endif]-->强烈建议不要用public变量!
<!--[if !supportLists]-->14、
<!--[endif]-->先写注释,后写代码。
<!--[if !supportLists]-->15、
<!--[endif]-->注释信息不仅要包括代码的功能,还应给出原因
<!--[if !supportLists]-->16、
<!--[endif]-->使用Javadoc标记注释,以便于生成api文档。
<!--[if !supportLists]-->17、
<!--[endif]-->保持注释的简洁清晰。
分享到:
相关推荐
这些案例可能涵盖不同规模和复杂性的项目,帮助读者掌握各种情况下的文档编写技巧。 8. **最佳实践**:作者可能分享了一些业界公认的最佳实践,如敏捷开发中的持续集成和持续交付(CI/CD)对文档的影响,以及如何在...
【标题】"汇总自编写的一些python项目代码.zip"揭示了这个压缩包中包含的是作者自己编写的Python项目源代码。Python是一种高级编程语言,以其简洁明了的语法和强大的功能而受到广泛欢迎,尤其在数据处理、Web开发、...
- **调试技巧**:详细介绍了多种调试技巧和工具的使用方法,包括但不限于断言(assertions)、日志(logs)等,这些都是提高代码质量不可或缺的部分。 - **代码审查**:提倡定期进行代码审查(code review),不仅可以帮助...
【标题】:“账目统计程序(VB6.0代码编写)”是一个使用Visual Basic 6.0编程语言开发的应用程序,其主要功能是处理和管理财务账目。VB6.0是微软公司推出的一种面向对象的可视化编程工具,它提供了一个图形用户界面...
在这个基于Java编写的俄罗斯方块项目中,开发者利用了Java的跨平台性,使得游戏可以在多种操作系统上运行。Java的面向对象编程(OOP)特性使其非常适合构建复杂的游戏结构,如游戏对象、事件处理和状态管理。 ...
译者指出,编写可读性代码不仅关乎编程礼节,还需要一系列与编程技巧、算法设计、单元测试或测试驱动开发等不同的知识。这些知识通常在公司的编程规范中被忽视,而本书正是关注这一被忽略的主题,并且以一种有趣的...
在IT行业中,项目代码是开发过程的核心组成部分,它包含了实现特定功能、业务逻辑以及系统架构的指令集合。在这个“学习内容备份,主要是项目代码”的压缩包中,我们可以推测这是一个用于教学或个人学习目的的资源...
【标题】:“调色板程序(VB6.0源代码编写)”是指使用Visual Basic 6.0编程语言设计的一个应用程序,其主要功能是允许用户通过调整红、绿、蓝(RGB)三种颜色分量来创建和编辑自定义的颜色。这个程序能够直观地展示...
《PHP精粹编写高效PHP代码》是一本专为PHP开发者设计的高级教程,旨在帮助读者提升编程技巧,编写出性能更优、效率更高的代码。这本书深入探讨了PHP语言的各个方面,包括最佳实践、优化策略以及如何避免常见的性能...
6. **调试技巧**:通过MSVCRTD.DLL可以看出调试的重要性,学习如何使用VC++6.0的调试器来查找和修复代码错误。 7. **游戏设计文档**:"最简单过关方法.txt"可能是游戏设计的一部分,了解文档在开发过程中的重要性。 ...
《ZKOK代码编写教程——探索列王记与万王之王的游戏编程世界》 在游戏开发领域,尤其是在线游戏,ZKOK(假设为一个游戏引擎或编程语言的缩写)扮演着至关重要的角色。它允许开发者创建复杂的逻辑和交互,赋予游戏...
总结,"qt入门代码编写的第一个示范代码"是一个很好的起点,它让你了解了如何使用QT Designer创建简单的用户界面,并通过"Hello Qt/Embedded"展示了基本的QT编程概念。随着经验的积累,你可以进一步探索QT的高级特性...
本文将深入解析ModelSim仿真常用命令以及仿真脚本的编写技巧,帮助读者掌握自动化仿真流程,从而避免重复的手动操作,提升设计验证的效率。 #### ModelSim仿真常用命令解析 在ModelSim中,有许多内置命令可以用于...
【小台历程序(VB.net源代码编写)】 在编程领域,VB.NET(Visual Basic .NET)是一种由微软开发的面向对象的编程语言,它是.NET框架的一部分,支持创建各种类型的应用程序,包括桌面应用程序。本项目是关于一个“小...
在标签部分,“vb”指的是Visual Basic,“记事本”是指我们所讨论的项目类型,即一个简单的文本编辑器,“源代码”则指明了学习材料的形式,即可以查看和修改的编程代码。 在压缩包子文件的文件列表中,"TXT.exe...
总结来说,这个"ThinkPHP5.0项目代码"涵盖了Web开发中的诸多关键点,包括框架应用、前端响应式设计、MVC架构、数据库操作、路由、中间件、错误处理、安全防护以及测试等。通过学习这个项目,开发者可以深入了解和...
8. **测试与调试**:源代码可能包含单元测试或集成测试,用于验证功能正确性,学习如何编写和执行测试也是理解代码的重要部分。 通过阅读和分析这个“1.txt”文件,可以进一步掌握以上各个知识点,并从中学习到VC++...
通过分析和研究源代码,我们可以深入理解软件的工作原理,学习编程技巧,甚至对代码进行改进或定制。这个资源对于C#开发者,特别是对网络编程感兴趣的开发者来说,是一个很好的学习和实践素材。 描述中的“资源很棒...
《PHP精粹 编写高效PHP代码》这本书是PHP开发者的重要参考资料,旨在帮助读者提升PHP编程技巧,优化代码性能,从而编写出更高效、更可靠的PHP应用。在深入理解PHP语言特性和最佳实践的基础上,我们可以从以下几个...