百度卫士5.0开发小结

每次开发完一个功能后,总发现有很多可以改进的地方,但下次开发还是会犯同样的错误,这次决定记录一下可以改进的地方,以便下次不要在犯同样的错误。

1:排期估算错误,评估开发时间过于乐观。以为只是改改UI,加十几个动画,结果整个UI都被重写了,重写意味着要熟悉原来的需求,要读通原有代码的逻辑,虽然我对整体需求比较了解,但UI那块的代码之前尝试去读过,就是觉得晕(动画都是直接上原装定时器,没有任何包装,而且到处都是)。重写完后,除了保留了原有的框架外,其他的代码都被删除重写了。虽然按时完成了开发任务,但测试阶段BUG是一堆一堆的,当同事问我BUG为什么这么多的时候,我竟无言以对。现在看来重写的决定是对的,不然一堆不知道啥原因的BUG会让我疯掉。重写后,我知道了所有的需求及实现细节,代码也是我自己的了,出了问题,也好排查解决。

2理清思路才能解决问题。有两个偶现的BUG,就是怎么都解决不了,各种修改都不行,这个功能以前就是我自己实现的,现在只是改UI,加动画,最后实在没办法,只好重新理了一下思路,发现mouse_hover、mouse_leave、delete、add和动画搅在一起,代码也很混乱,在改下去,问题不一定能解决,而且感觉要失控的样子,在理清思路后,把这个功能又给重写了,结果两个BUG顺利的解决了。

3没想清楚的地方都变成了BUG。没错,哥的BUG就是多(请容许我先去哭一个小时)。在开发的时候,经常是想了一个大概,感觉可行,就开始写代码,写完后,编译运行,得到了想要的结果,感觉没什么问题,就开始开发下一个功能(开发任务重啊,必须得速度),然后这个功能就这样提测了,然后测试就给你提了几个BUG,然后你的BUG数量很提神。虽然我们很难把任何事情都考虑得很清楚,但是你明知道可能有疑问的地方就一定要想清楚,不要存侥幸心理,因为不翔的预感告诉我们,虽然这一会儿拉不出翔,但一定是会拉出来滴,到时候你就等着吃吧。

4四面楚歌的时候,谁离我最近我就干掉谁,谁最容易干掉就最先干掉谁。BUG还有20多个,我正焦头烂额的改BUG,测试发来消息说这个是不是BUG,要我解释一下;我正跟测试解释的时候,产品经理经理过来说要改一个“小需求”;设计过来说要改UI细节;客服发来消息,这个遗留BUG什么时候解,已经有很多用户反馈了这个问题。我的血压感觉一下子就上去了,你们别拦着我,我要去吃药,医生说:药、不、能、停。虽然有点夸张,但有时候真的是被搞得焦头烂额。兵来将挡水来土掩,问题还是得解决,谁叫咋是程序员呢。只好给这些任务分一个优先级,容易解决的就马上解决了,紧急的问题先解决,留着只会让问题看起来越来越多,加大自己的压力,问题多也容易遗漏,不能马上解决的,一定要做好记录,因为这些翔都是属于你的,你要把他吃干净。

5求助是解决问题最快的方法。求助总让人觉得有点那啥,一般都是不到万不得已,不会向别人求助的,但有时自己钻进牛角尖,在向别人求助时,描述问题的时候,其实也是一个理清思路的过程,说不定说着说着,就灵光乍现,找到问题的解决方案了。还有就是有些方面的确是别人更熟悉一些,需要掌握一些知识点,你不知道就解决不了,知道就分分钟解决问题,这个时候就应该虚心向别人请教,不要不好意思向别人求助,但不要养成习惯。

6储备好知识在出发。百度卫士5.0这个版本界面很炫,加了很多动画,我自己就要实现十几个动画,问题是我之前没有玩过动画啊,我根本就不知道实现一个动画要多长时间,对自己能不能实现也没底,排期都是有经验的同事给我排的。在开发之前,我先看了一个类似动画的例子,感觉还行,但是我这十几个动画,各式各样,很多都没例子可抄。于是花了大约1天的时间,来看皮肤引擎动画相关的源码,源码之内了无秘密,看了源码之后,发现写动画还是很简单的,其实就是通过定时器隔一段时间设置一下控件的属性。1秒钟24帧人眼看到的就是动画的效果了。当我明白动画的实现原理后,在写起动画来就得心应手了。

7给你的代码加上日志。有时候忘了给代码加日志,出了问题不知道怎么排查,就很后悔自己当时没有加日志,有些问题看日志就很好解决,没日志就没有头绪,感觉没有问题啊,但问题就是活生生的摆在你眼前,让你因为没有加日志而后悔莫及。

8不要总是去猜,要去论证。这条主要是针对我自己,因为我已经猜出了习惯,猜出了风格。总是靠猜去解决问题也不是办法。虽然很多时候都被我猜对了,但猜错了的问题怎么解?有些偶现的BUG,你以为是XX原因,然后做了修改,以为解决,其实并没有解决。遇到问题还是得去定位去分析解决。

9写结构清晰易懂的代码。这点虽然难做到,但必须追求。你是否曾经有这样的感受:昨天写的代码,今天来看就完全不认识了,还以为不是自己写的代码,不然自己写的东西自己怎么会看不懂?这种现象可能是写的时候灵光乍现,写出了神级代码,一般人看不懂,今天作为一般人还真就看不懂了,所以在写出神级代码的时候,一定要加注释说明神级代码是怎么来的。还有一种情况就是代码被写成狗屎了,真是看不懂,大多数情况可能就是这样,自己的翔从来都是自己吃的,为了让自己少吃点翔,将代码写好一点。清晰的思路和结构清晰的代码都让人舒服,会有被电到的感觉,混乱的思路和结构混乱的代码总让人觉得不适,有种恶心的感觉。

10速度还是效率。《唐伯虎点秋香》里有一段对白,大概是这样:给我追华府的官船|公子,你真有眼光,我可是出了名的快|大哥你的船在下沉啊|沉也沉得快吗。开发排期总是很紧,于是我们的开发速度都很快,然后就产生了很多BUG,然后又花和开发差不多一样的时间来修BUG,如果我们在开发的时候能够把代码写好点,多用点时间一次就把事情做好,效果会不会好一点。我不知道,但是对自己能力的提高肯定大于前者,一次将事情做好,本就是一种很强的能力,而且我觉得这种能力是可以训练的,当你以这种方式去开发的时候,就是一直在训练这种能力。在高考的时候,我旁边就坐着全年级第一的家伙,在考数学的时候,从第一题做到最后一题,都没有将试卷翻过来,除了最后一题没做完,其他的都全对。在要交卷的时候,终于将试卷翻过来了,哥一眼看到最后两个选择题的答案和哥的不一样,哥硬是没有改自己的答案,最后活生生的将自己考成了一个专科生,至今还为自己当时的决定感动不已。

最后送上百度卫士新版本的两张谍照。

时间: 2025-01-04 04:00:55

百度卫士5.0开发小结的相关文章

开发小结(转)

每次开发完一个功能后,总发现有很多可以改进的地方,但下次开发还是会犯同样的错误,这次决定记录一下可以改进的地方,以便下次不要在犯同样的错误. 1:排期估算错误,评估开发时间过于乐观.以为只是改改UI,加十几个动画,结果整个UI都被重写了,重写意味着要熟悉原来的需求,要读通原有代码的逻辑,虽然我对整体需求比较了解,但UI那块的代码之前尝试去读过,就是觉得晕(动画都是直接上原装定时器,没有任何包装,而且到处都是).重写完后,除了保留了原有的框架外,其他的代码都被删除重写了.虽然按时完成了开发任务,但

百度移动玩“智能”嗨了,PC百度卫士也“按捺不住”了?

这两年整个互联网市场的重心都在移动端,百度也将主要精力集中在移动端的市场拓展上,手机百度.百度地图.百度糯米.手机卫士.手机助手是百度在移动端的五款王牌产品,而去年的直达号,今年的度秘,更是让百度在移动搜索市场风生水起. 在前两日的百度世界大会上,度秘的亮相成为业界关注的焦点,在大数据时代,人工智能一直是业内都非常关注的新科技领域,苹果的Siri已经打开了国人对语音交互的认知,而微软小冰的出现开始让业界意识到人工智能作为生活助手的作用. 不过,无论是苹果的Siri还是微软小冰,都不够了解中国用户

百度地图V2.0实践项目开发工具类bmap.util.js V1.4

/** * 百度地图使用工具类-v2.0(大眾版) * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email [email protected] * @company KWT.Shenzhen.Inc.com * @notice 有些功能需要加入外部JS库才能使用,另外还需要申请地图JS key . * 申请地址:http://developer.baidu.com/map/apply-key.ht

iOS线程开发小结

/* 方法名决定是否开启新线程(async,sync),队列类型(全局队列,串行队列)决定开启多少条线程 1.快速线程调用 *开启后台线程执行任务 [self performSelectorInBackground:@selector(test) withObject:nil]; *回到主线程执行任务 [self performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:YES]; 2.GCD

百度地图LBS应用开发代码

最近因为工作需要,领导要我将51地图API开发的一个应用迁移到百度地图,或者说用百度地图API进行重写,实现同样的功能.我先是把现有的这个51地图的应用了解了一下,然后就试着用百度地图做一些demo,最后就自己动手参照原来的应用的功能,用百度地图实现了一下.下面就给大家介绍一下,百度地图API开发的一些基础技术. 首先,百度地图API的官方首页是:http://dev.baidu.com/wiki/static/index.htm,上面介绍了很多详细的信息,各种版本的API,成功案例,还有在线帮

百度地图3.0实现图文并茂的覆盖物

百度地图3.0实现图文并茂的覆盖物 分类: 地图API开发 android2014-07-03 00:30 2176人阅读 评论(2) 收藏 举报 前一段时间搞地图要显示周围房源信息,之前搜索的都是使用2.x的,现在百度地图官方新出了3.0版本由于之前思维局限一直没有实现图文并茂,今天看了别人2.0的实现方式,把它用到3.0上成功显示,下面看一下效果 现在3.0显示覆盖物mBaiduMap.addOverlay(OverlayOptions arg0),有两个类可以添加MarkerOptions

XXX系统开发小结(SSH+Jquery EasyUI)

一.项目总体介绍 前一段时间的工作中,笔者大概用了两三个月开发了一个Web管理信息系统,使用的框架集为Struts2.3.1+Spring3.0+Hibernate3+Jquery EasyUI1.3.5,系统业务逻辑并不复杂,完成数据的采集(以问卷的形式).计算处理和形成报告发布.EasyUI是一个很优秀的JS UI框架,使用简单方便,效果也还可以,是UI效果和带宽速度之间的一个折中之选.系统中还有新闻发布模块,用到了富文本编辑器,在比较了很多插件之后,选择了kindeditor,原因很简单,

arcserver开发小结(一)

一.关于属性查询 由于要做属性查询,又重新玩起了arcmap中的select by attribute,有很多自己当初玩弄arcmap多年还不是很清楚的东西 1,字段名 (1)file geodatabase, shapefile, dBase table, coverage, INFO table-- "AREA" (2)personal geodatabase--[AREA] (3)ArcSDE geodatabase--AREA (4)Excel file (.xls file)

精品软件 推荐 百度 卫士

百度卫士相当于360安全卫士一样的功能,除了常用的电脑优化,清理功能之外,还有抢火车票功能. 也很简洁,推荐下载使用. 功能简洁,也很全面. 下载地址请百度官网下载吧.