- 浏览: 196513 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
chmadmin:
求源码,参考下
Extjs做的一个图书管理系统(详细解析) -
wilddonkey:
lz,我现在自定义了转换器,但是如果输入为空,则自动跳过,虽然 ...
struts2-ognl.MethodFailedException: Method "setId" failed for object -
accpchf:
/** * 懒汉式, * 既有延迟加载功能又能保证线程安全, ...
J2EE面试题集锦(附答案) -
accpchf:
java编程第三题明显错误 A ab = new B(); ...
J2EE面试题集锦(附答案) -
风雨故都:
求源码。参考一下
Extjs做的一个图书管理系统(详细解析)
1)一定将数据设计为私有。
最重要的是: 绝对不要破坏封装性。在有的时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但他们的使用方式却不会经常发生变化。当数据保持私有时,他们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。
最重要的是: 绝对不要破坏封装性。在有的时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但他们的使用方式却不会经常发生变化。当数据保持私有时,他们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。
2)一定要对数据初始化。
java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。
java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。
3)不要在类中使用过多的基本数据类型。
就是说,用其他的类代替多个相关的基本数据类型的使用。这样会使类更加易于理解且易于修改
4)不是所有的域都需要独立的域访问器和域更改器。
或许,需要获得或设置雇员的薪金。而一旦构造了雇员对象,就应该禁止雇佣日期,并且在对象中,常常包含一些不希望别人获得或设置的实例域,
或许,需要获得或设置雇员的薪金。而一旦构造了雇员对象,就应该禁止雇佣日期,并且在对象中,常常包含一些不希望别人获得或设置的实例域,
5)使用标准格式进行类的定义
一定采用下面的顺序书写类的内容
公有访问特性部分
包作用域访问特性部分
私有访问特性部分
在每一部分中,应该按照下列顺序列出
实例方法
静态方法
实例域
静态域
6)将职责过多的类进行分解
7)类名和方法名要能够体现他们的职责
评论
20 楼
Leon.Wood
2010-09-29
7454103 写道
太多的 “一定”!
实际作用:一般!
鉴定完毕! 欢迎拍砖!
实际作用:一般!
鉴定完毕! 欢迎拍砖!
不由自主的顶一个
19 楼
月落码农
2010-09-28
你这是在抄书吧?
18 楼
xiangdefei
2010-09-28
think in java or eff java 这两本其中一本书中的。。
17 楼
lewisw
2010-09-28
<div class="quote_title">youanyyou 写道</div>
<div class="quote_div">
<div><span style="color: #993300;">2)一定要对数据初始化。 </span></div>
<div><span style="color: #993300;">java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。</span></div>
<div>
<span><span> </span></span>
</div>
</div>
<div><br></div>
<div><br></div>
<div>这一点个人认为没有必要。并且就我接触的,包括大部分开源项目源码里和呆过的大部分公司的项目里,都没有对实例域进行没必要的初始化。 尤其在构造器里去写十几个变量等于null或0或false的,看起来都头晕。 局部变量能不初始化就不初始化,比如:</div>
<div><br></div>
<div>
<div class="quote_div"> User user = null; // or new User();<br><br> if (a == b) {<br><span style="white-space: pre;"> </span>user = userDao.getUser();<br> } else {<br><span style="white-space: pre;"> </span>user = sessionUtil.getUser();<br> }<br>
</div>
</div>
<div> </div>
<div>看到太多的类似代码, IDE(intellij idea)马上报黄色警告。</div>
<div><br></div>
<div class="quote_div">
<div><span style="color: #993300;">2)一定要对数据初始化。 </span></div>
<div><span style="color: #993300;">java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。</span></div>
<div>
<span><span> </span></span>
</div>
</div>
<div><br></div>
<div><br></div>
<div>这一点个人认为没有必要。并且就我接触的,包括大部分开源项目源码里和呆过的大部分公司的项目里,都没有对实例域进行没必要的初始化。 尤其在构造器里去写十几个变量等于null或0或false的,看起来都头晕。 局部变量能不初始化就不初始化,比如:</div>
<div><br></div>
<div>
<div class="quote_div"> User user = null; // or new User();<br><br> if (a == b) {<br><span style="white-space: pre;"> </span>user = userDao.getUser();<br> } else {<br><span style="white-space: pre;"> </span>user = sessionUtil.getUser();<br> }<br>
</div>
</div>
<div> </div>
<div>看到太多的类似代码, IDE(intellij idea)马上报黄色警告。</div>
<div><br></div>
16 楼
7454103
2010-09-28
太多的 “一定”!
实际作用:一般!
鉴定完毕! 欢迎拍砖!
实际作用:一般!
鉴定完毕! 欢迎拍砖!
15 楼
fool_leave
2010-09-28
asme2u 写道
freish 写道
1)一定将数据设计为私有。
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
同意,就我自己来说,对于私有的内部类,我基本使用public字段代替私有字段加getter和setter
将get和set去掉,用public变量取代,实际上是有一个问题存在的。问题不是存在于开发过程中,而是程序的适应性。考虑一下,如果你写的组件有100个子程序调用,使用同一个变量。
例如:
你的Student类有一个String studentCardID;
getStudentCardID方法有100个地方被调用,而且程序已经上线n久了。
现在学校规定,在显示的studentCardID前必须加上"#"标记。你需要做的其实很简单,修改一个方法。
public String getStudentCardID(){
return "#"+studentCardID;
}
这样就会省去修改整个系统的风险。而如果不用get方法来实现,则很可能面临修改整个系统。
当然,上面的例子对于程序员来说不是很爽,谁也不希望get方法里还要对数据处理,这样的代码不严谨。但在现实世界里,成本往往说了算。
14 楼
aoliwen521
2010-09-28
play framework框架给点文档,其模型的部分属性就直接使用的public修饰。
13 楼
darwintest
2010-09-28
说的很基本,不错
12 楼
aimicheng
2010-09-28
肤浅的技巧
11 楼
hardPass
2010-09-28
Freedom!
10 楼
shi5228313
2010-09-28
final static 写在最上面是checkStykle规范吧啊。。这些都好正常的,没必要说吧?
9 楼
clarkamx
2010-09-28
这是哪本书上写着的来着?
8 楼
zzknight
2010-09-28
纸上得来终觉浅..
7 楼
elementstorm
2010-09-28
asme2u 写道
freish 写道
1)一定将数据设计为私有。
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
同意,就我自己来说,对于私有的内部类,我基本使用public字段代替私有字段加getter和setter
就是啊,java自己的源码里都有用到不少的public字段
6 楼
Javakeith
2010-09-27
很熟悉!好像是在java code里!看过!
5 楼
Leon.Wood
2010-09-27
<div class="quote_title">youanyyou 写道</div>
<div class="quote_div">
<div>
<span style="color: #993300;">1)一定将数据设计为私有。<br>最重要的是: 绝对不要破坏封装性。在有的时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但他们的使用方式却不会经常发生变化。当数据保持私有时,他们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。</span> <a href="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4914818119943102&output=html&h=90&slotname=6429866262&w=728&lmt=1285571276&flash=10.1.53.64&url=http%3A%2F%2Fyouanyyou.iteye.com%2Fblog%2F772824&dt=1285571276500&shv=r20100909&jsv=r20100917&correlator=1285571276500&frm=0&adk=1965243879&ga_vid=1813892377.1285571277&ga_sid=1285571277&ga_hid=1180002008&ga_fc=0&u_tz=480&u_his=57&u_java=1&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_nplug=0&u_nmime=0&biw=1007&bih=611&ref=http%3A%2F%2Fyouanyyou.iteye.com%2Fadmin%2Fblogs%2F772824&fu=0&ifi=1&dtd=46&xpc=e2yT8FYiw2&p=http%3A//youanyyou.iteye.com" target="_blank"></a>
</div>
</div>
<p><br>实际上,我们产品里有些地方是不这样的,并且不可以这样</p>
<div class="quote_div">
<div>
<span style="color: #993300;">1)一定将数据设计为私有。<br>最重要的是: 绝对不要破坏封装性。在有的时候,需要编写一个访问器方法或更改器方法,但是最好还是保持实例域的私有性。很多惨痛的经验告诉我们,数据的表示形式很可能会改变,但他们的使用方式却不会经常发生变化。当数据保持私有时,他们的表示形式的变化不会对类的使用者产生影响,即使出现bug也易于检测。</span> <a href="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-4914818119943102&output=html&h=90&slotname=6429866262&w=728&lmt=1285571276&flash=10.1.53.64&url=http%3A%2F%2Fyouanyyou.iteye.com%2Fblog%2F772824&dt=1285571276500&shv=r20100909&jsv=r20100917&correlator=1285571276500&frm=0&adk=1965243879&ga_vid=1813892377.1285571277&ga_sid=1285571277&ga_hid=1180002008&ga_fc=0&u_tz=480&u_his=57&u_java=1&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_nplug=0&u_nmime=0&biw=1007&bih=611&ref=http%3A%2F%2Fyouanyyou.iteye.com%2Fadmin%2Fblogs%2F772824&fu=0&ifi=1&dtd=46&xpc=e2yT8FYiw2&p=http%3A//youanyyou.iteye.com" target="_blank"></a>
</div>
</div>
<p><br>实际上,我们产品里有些地方是不这样的,并且不可以这样</p>
4 楼
asme2u
2010-09-27
freish 写道
1)一定将数据设计为私有。
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
同意,就我自己来说,对于私有的内部类,我基本使用public字段代替私有字段加getter和setter
3 楼
selvenfx2009
2010-09-27
freish 写道
1)一定将数据设计为私有。
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
+1
2 楼
freish
2010-09-27
1)一定将数据设计为私有。
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
这个肯定是不合理的
如果处处都合理的话,java设计之初就不会让public修饰类的属性了
1 楼
anhaoy
2010-09-27
很好。不过,对于:
5)使用标准格式进行类的定义
一定采用下面的顺序书写类的内容
公有访问特性部分
包作用域访问特性部分
私有访问特性部分
在每一部分中,应该按照下列顺序列出
实例方法
静态方法
实例域
静态域
要加一个:
final static 修饰的静态域,放在最上面!
引用
5)使用标准格式进行类的定义
一定采用下面的顺序书写类的内容
公有访问特性部分
包作用域访问特性部分
私有访问特性部分
在每一部分中,应该按照下列顺序列出
实例方法
静态方法
实例域
静态域
要加一个:
final static 修饰的静态域,放在最上面!
发表评论
-
java版RC4加密解密算法
2010-10-25 11:01 3811我们的一个项目,需要解析一个用户提供的rc4加密后的文件,特 ... -
JAVA7新特性
2010-09-30 14:38 1028Java7新特性 1.运行速度提高了,这个得益于Java7采用 ... -
Java Web开发(JSP、Servlet)乱码终极解决方案
2010-09-30 08:40 1538千万不要看网上那些杂七杂八的解决乱码的文章,解决乱 ... -
马士兵struts2学习笔记(详细版)
2010-09-29 15:57 174815、23_尚学堂马士兵_Struts2_模块包含 ... -
JAVA华为面试题
2010-09-29 15:49 3658这是华为Java的主要面试题目宝典。。。。真的是很有用。。。我 ... -
JVM学习笔记(四)------内存调优
2010-09-29 11:19 978首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别J ... -
JVM学习笔记(三)------内存管理和垃圾回收
2010-09-29 11:15 852JVM内存组成结构 JVM栈 ... -
JVM学习笔记(二)------Java代码编译和执行的整个过程
2010-09-29 11:10 1056Java代码编译是由Java源码编译器来完成,流程图 ... -
JVM学习笔记(一)------基本结构
2010-09-29 11:04 878从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: ... -
Java调用外部exe程序方法
2010-09-29 09:20 1168用java调用外部.exe程序的方法: public ... -
EXT+DWR+SPRING+IBATIS+ORACLE分页显示+模糊查询
2010-09-28 13:14 2109EXT代码: Ext.onReady(fun ... -
Java编程把Word转Pdf
2010-09-28 08:42 2189我的word转pdf用到了一个虚拟的打印机,安装一个Adobe ... -
利用JSP实现的验证码
2010-09-28 08:38 800image.jsp <%@ page contentT ... -
经典的jsp分页显示
2010-09-28 08:34 775< %@ page contentType=" ... -
Java邮件收发SMTP和POP3实例详解
2010-09-27 09:28 1914SMTP的连接和收发过程: a.建立TCP连接。 b.客户端发 ... -
谈谈java中的NaN值
2010-09-27 09:26 1086什么是NaN ?下面是我查到的结果。 Double中的 ... -
Java Jdbc查询MySQL数据库示例
2010-09-27 09:23 1844import java.sql.Connection; im ... -
Struts2 Error filterStart异常的解决方法总结
2010-09-27 09:01 989今天一位网友让polaris帮忙解决一些jqGrid的问题。在 ... -
JAVA开发编程规范
2010-09-27 08:55 914××××-××-××发布 ... -
MyEclipse实用小技巧归纳
2010-09-27 08:49 810第一步: 取消自动validati ...
相关推荐
《Java程序设计技巧1001例》是一个深入学习Java编程的资源集合,包含了大量实例,旨在帮助开发者提升技能和理解Java语言的核心概念。通过这1001个实例,我们可以系统地掌握Java语言的各个方面,包括基础语法、面向...
Java程序设计技巧与开发实例Java程序设计技巧与开发实例Java程序设计技巧与开发实例Java程序设计技巧与开发实例Java程序设计技巧与开发实例
本资源“Java程序设计技巧与开发实例”深入探讨了Java编程中的关键技术和实用策略,旨在帮助开发者提升编程效率和代码质量。 首先,Java的设计原则包括“Write Once, Run Anywhere”(一次编写,到处运行),这得益...
在"Java程序设计技巧1001个实例"中,我们可以深入学习如何利用Java进行高效的程序开发。这个资料集涵盖了从基础到高级的Java编程技巧,通过1001个实例,帮助开发者巩固和提升技能。 1. **基础概念**:Java的基础...
在《JAVA程序设计技巧1001例》中,我们深入探讨了Java编程的各种实用技巧和最佳实践,这些实例旨在帮助开发者提升技能,优化代码,提高程序效率。本书覆盖了从基础到高级的广泛主题,适合各个层次的Java开发者学习。...
Java程序设计技巧1001例java简明教程里面有很都例子可以学习
《Java程序设计技巧1001例》是一部深入探讨Java编程技术的著作,旨在通过丰富的实例来提升读者的编程能力和技巧。在这个压缩包中,我们首先看到的是"java程序设计技巧1001例(001)"这个文件,这可能是系列教程的第一...
Java程序设计技巧是涵盖了许多关于如何有效、高效地编写Java代码的主题。在Java编程中,掌握这些技巧可以显著提升代码质量、可读性以及运行效率。以下是一些关键的Java程序设计技巧,它们将帮助你成为一名更优秀的...
本说明书将深入探讨Java程序设计的基本概念、语法结构以及实战技巧。 一、Java语言基础 1.1 类与对象:Java是一种面向对象的语言,它通过类来描述对象的属性和行为。类是创建对象的模板,而对象是类的实例。理解类...
在本Java课程设计中,我们将探索四个不同的项目,它们展示了Java编程语言在实际应用中的多样性。这些项目包括动物换位游戏、网上交易系统、新闻发布系统以及学生信息管理系统。每个项目都提供了独特的学习机会,让...
Java程序设计技巧千例压缩包包含了丰富的学习资源,旨在帮助开发者深入理解和掌握Java编程的各种技巧。这个包聚焦于Java语言的核心特性和高级用法,通过大量的实例解析,旨在提升编程能力,解决实际问题。 首先,...
在《Java程序设计技巧1001例》中,涵盖了Java编程语言的多个核心领域,旨在帮助开发者提升技能,优化代码,以及解决实际问题。这个资源不仅提供了丰富的示例,还可能包含了对Java语言特性的深入解析,以及如何在实践...