`
fantasy
  • 浏览: 506530 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

开发中的小心得

    博客分类:
  • Java
阅读更多

总结一下自己在开发上的一些小心得,持续更新,欢迎大家补充!

 

测试需要注意的问题

1:测试需要涵盖所有的业务逻辑: 自动化测试不需要覆盖所有的代码,但需要覆盖所有的业务逻辑,因为一处的修改可能造成其他业务逻辑的不可用。考虑所有情况如单个删除,批量删除。一对一移动,多对多移动。
2:浏览器:测试产品支持的浏览器,具体到浏览器版本号,如支持IE6,IE7和IE8。
3:分辨率:测试产品支持的分辨率,如支持1024X768以上的分辨率。
4:现场环境测试:一部分功能出现问题,可能是现场环境导致,所以必须在现场环境进行严格测试,如现场网络问题,数据库所在硬盘满了。
5:原则上测试代码应该覆盖所有的业务逻辑,但是基于投入产出比的考虑(所有的代码都写测试,代价太大,效果不一定更好),可以只在核心和你需要验证的业务逻辑上写测试代码。 测试主要是验证各种输入是否得到预期的输出,那么只需要提供几种常见的输出进行验证就可以,注意测试的输入是无限的,所以就算做了自动化测试,也不能完全保证程序没有问题。
6:建议使用TDD按照业务场景来进行测试,用户如何使用我们的功能,我们就写哪些测试代码,这样能够帮助我们按需开发代码和做有效的测试。 TDD只需覆盖所有的业务代码,并不需要覆盖所有的代码,所以建议在服务层做TDD。
 
使用SVN:
1:提交注释:提交代码需要提交注释。注释主要是方便团队成员知道你提交了什么和代码回滚,如当出现重大错误的时候能回退到某一版本。
2:代码提交和更新:为了减少冲突,建议每天上班之后更新程序,下班之前必须将稳定的程序提交,最好是做整体提交,有时候就是因为少提交了一个类导致编码错误。
3:少做全文格式化:全部格式化是最容易造成冲突的,所以假如当前类还有其他人在维护,建议不要做全文格式化,可以选中你自己的代码,做局部格式化。
 
编写代码:
1。警告:警告有时候也是很有用的,为了避免有用的警告被人忽略,代码里不允许出现警告。有警告的地方注释掉。
2:编码:先理清需求再写代码,可以先写注释再写代码,也可以用TDD的方式。
3:TODO:可以在未完成和存在坏味道的代码里加上TODO注释,以便下次解决。
4:多用快捷键,少用鼠标: 如Eclipse自动填充geter和seter的快捷键是alt+shirft+s后点r。
 
前端开放:
1:尽量用百分比:窗口和表格的宽度和长度尽量用百分比定义,而不用像素,用以在不同的分辨率下达到同样的效果。
2:使用FireBug和HTTPwatch调式样式和脚本
3:使用Fontpage做一些前端测试。如Flash遮住Iframe的问题。
 
Flex工程编译缓慢的解决方法:
1:将Flex工程按照模块拆分为多个工程。
2:AS文件不要经常修改。因为编译as文件很慢,但编译mxml还是很快的。
 
Flex模拟数据测试
我们可以在不启动服务器的情况下就对Flex程序进行测试。方法是是首先新建一个文件,名字叫XX.action,里面存放JSON数据或者XML数据,让Flex程序直接与这个XX.action进行通讯。可以在公共通讯方法上做一个开关,可以随时切换模拟数据和真实数据,用于客户演示和现场使用两种场景。
 
调式Flex 
调试的时候可以直接在URL后面加上?debug=true#
 
Flex的性能调优
我觉得Flex的垃圾回收不是很好,内存很难被回收掉,所以自己做了下Flex的性能监控,发现性能主要消耗在表格里带图片的渲染器,每当我滚动表格的时候,Flash会重新渲染图片生成新的对象,而旧的对象没有这么快被回收,内存会直线上升。
Flex IDE提供Flex profile插件进行性能监控,性能监控分为内存监控CPU监控。 进入Eclipse的“Flex Profile”视图,点击“Profile”。 新建一个监控的swf,然后双击这个SWF。 系统会自动弹出IE,访问你所监控的SWF。
分享到:
评论
25 楼 无根V稻草 2011-04-08  
麦蒂粉丝 写道
naive_1010 写道
对Flex没有开发经验,对其它地都十分赞同!!

恩!

同上
24 楼 nihaoma. 2011-04-07  
我篇文章很有用
23 楼 fantasy 2011-04-06  
chengzi0613 写道
请问楼主,在前端开放里,您提到Flash遮住Iframe的问题。我现在遇到一个问题,在利用iframe显示html时,当flex进入全屏模式后,iframe窗口被挡住了,这个问可以怎么解决呢?谢谢赐教!!

1:新建一个层里面放iframe,然后这个层在Flash之上。
2:设置flash可以被层遮住。
22 楼 chengzi0613 2011-04-06  
请问楼主,在前端开放里,您提到Flash遮住Iframe的问题。我现在遇到一个问题,在利用iframe显示html时,当flex进入全屏模式后,iframe窗口被挡住了,这个问可以怎么解决呢?谢谢赐教!!
21 楼 hquxiezk 2011-02-28  
fantasy 写道
hquxiezk 写道
表格里带图片的渲染器这个问题常见,有什么解决办法吗?

把图片都打到一个swf里,这样只会请求一次。

你是说把所有图片放在一个swf里?
如何请求呢,通过静态变量调用?
会不会遇到同一张图片在同一张页面多处显示,无法显示的问题?
问题好多呀,呵呵
我现在的做法是写了一个可以动态加载的图片的类库,一开始把图片全部加载内存里,根据key去加载图片
20 楼 spidermanzy 2011-02-25  
说得很好 
19 楼 sunrie 2011-02-22  
感谢分享心得,虽然没做过flex
18 楼 mingjian01 2011-02-22  
关于测试个人倒是有特殊点的体会, 一定要做空值测试,比如数据库的空表,空字段,文件不存在 , 注入组件为空等,因为经常因为这些原因搞个NullPointerException,多了就特不爽。

如果新系统倒还好,如果涉及到数据迁移的项目,这测试也很麻烦,数据不对称导致的丢失,数据格式不一致等问题多了
17 楼 Vicky_sry 2011-02-22  
lz总结的很好,很受教。
16 楼 fantasy 2011-02-18  
hquxiezk 写道
表格里带图片的渲染器这个问题常见,有什么解决办法吗?

把图片都打到一个swf里,这样只会请求一次。
15 楼 亦梦亦真 2011-02-18  
kyfxbl 写道
对用百分比不用像素这点,不太赞同,说的太绝对了。其他基本同意

这点我也支持,有些地方,百分比的效果并不好
14 楼 hquxiezk 2011-02-18  
表格里带图片的渲染器这个问题常见,有什么解决办法吗?
13 楼 dsjt 2011-02-18  
<div class="quote_title">fantasy 写道</div>
<div class="quote_div">
<p> </p>
<div><strong><br></strong></div>
<div> </div>
<div>
<div>
<strong>调式Flex</strong> </div>
<div>调试的时候可以直接在URL后面加上?debug=true#</div>
<div> </div>
<div><strong><br></strong></div>
</div>
</div>
<p> </p>
<p><strong>1. 调式Flex</strong>   </p>
<p><span style="white-space: pre;"> </span>我在url后面 手动加 ?debug=true 或者 ?debug=true# 不能进入debug模式;只能从IDE的debug进入;</p>
<p> </p>
<p>请指教</p>
<p> </p>
<p> </p>
12 楼 hyl1234 2011-02-17  
除了flex部分(本人没用过)。其他深有同感。
尤其是警告,我发现很多人不在乎警告,只在乎红色的error。


对于svn提交,个人认为在修改系统全局的配置文件时,不要都加在文件的末尾,这样就算冲突了,也方便解决。(个人感觉)
11 楼 zxw_wenwen 2011-02-17  
对svn提交代码这几个 很有体会  总结的很好  flex不怎么熟悉  不做评价
10 楼 fan2012 2011-02-17  
多用快捷键,少用鼠标。这点很赞同
9 楼 spyker 2011-02-16  
大家有一样的格式化模板 全文格式化 无碍
8 楼 pouyang 2011-02-16  
对这些都十分的赞同,但更赞同的还是你这种把自己的心得总结出来,记录下来,更更赞同的是总结并分享出来。

开发人员要经常不断的总结归纳,才会提高的更快。

ps: 我很喜欢浏览JavaEye上星级,钻石级,资深级别等会员的所有踪迹,总是感觉与众不同。
7 楼 li2005 2011-02-16  
除了FLEX没用过
6 楼 li2005 2011-02-16  
楼主的这篇文件对我来说都是实用型经典,谢谢喽

相关推荐

Global site tag (gtag.js) - Google Analytics