调试开源应用《酷欧天气》小结
2015-10-10 17:19
253 查看
1、访问数据库的代码如果出错,在AS中很难从提示信息中看出来。所以访问数据库的代码要仔细检查。
2、无论是书写代码还是检查代码,应该注意到逻辑上的连贯性为主线而不是篇幅上的。根据程序的逻辑去书写,根据程序的逻辑去检查。
3、脑中想象出来,对已一个项目边开发边测试的感觉。比如自顶向下的项目,顶层的逻辑写好之后针对顶层做一个测试,顶层确定可用又健壮,就可以写底层的了。
同理底层的每一地方也都要逐块测试好之后再进行组合。
4、出现错误将调试信息过滤器调到error,从上往下看,最上面第一条最准确所以也最重要,往往指出了错误的地方。
5、数据库中的字段命名和程序中变量的命名不要混淆。例如本例中数据库中的id名字为“city_id”而程序中使用的是cityId作为变量。无论是大小写还是下划线形式都有区别,要养成风格遵守习惯。
其实写程序重要的是心法。当然,做什么事情都是这样。几百行几千行的程序只要不到一秒钟就执行完毕,给用户的感觉是方便快捷。可是其中的每一件事情就在写代码的时候就如同一件一件亲自做完一样。所以你要怀着自己跑腿去做好一件事的心态去写代码,怀着自己的组织出现问题打电话一个一个询问的态度去修改代码。这样才是一个心态。
该快是因为机器执行快,该慢是因为事情都是经过思考和安排才可以做好,所以思考和安排的时候要慢,要稳,要考虑周全。
作为一个工程师的时候就安静地思考自己的问题,而作为组织者的时候就要积极发言,积极组织。都是同样的道理。
自己的逻辑首先要清楚才能去debug,如果自己都不知道代码在做什么,只能越调越乱。
给自己压力就是不达目的不罢休,这样才可以进步。
默写CoolWeather第一部分第二遍的总结:
1、Github一定要好好使用来管理版本备份数据。
2、发发现了很多的bug
1、url的String 没有加"http://"导致无法访问。
2、数据库中的查询关系没有搞清楚,导致分不清id,和code的关系,导致model模型中遗漏项目。数据流在编码之前一定要设计好。
3、代码中将==携程!=导致逻辑失误。每一函数写完以后要读一遍看看是不是所要表达的意思。
4、runOnUiThread的用法还要再熟悉一下。
5、写重复的代码导致无聊,以至于下意识照抄导致city、county关键字弄混。可见进行合理的架构来有意识地对比关键字是多么重要。
3、重点总结
1、xml文件中空间的关系,布局还要多多熟悉。
2、ListView,ListAdapterd,和ArrayList的组合用法。
3、progressDialog的用法。
4、SQListDBHelper生成数据库。和单例模式。
5、使用String->URL->httpURLConnection->bufferedReader进行网络访问的方法。
6、使用String.split()处理json格式数据的方法,注意判断空指针。
7、定义接口,并被其他函数调用时候实现的用法,对接口的体会。
8、在新线程中使用的函数变量要使用final进行常量修饰。
9、android多线程调试。
4、可以从结构上从新设计
1、函数重载节约代码。
2、使用code代替code设计数据流向和查询关系。
2、无论是书写代码还是检查代码,应该注意到逻辑上的连贯性为主线而不是篇幅上的。根据程序的逻辑去书写,根据程序的逻辑去检查。
3、脑中想象出来,对已一个项目边开发边测试的感觉。比如自顶向下的项目,顶层的逻辑写好之后针对顶层做一个测试,顶层确定可用又健壮,就可以写底层的了。
同理底层的每一地方也都要逐块测试好之后再进行组合。
4、出现错误将调试信息过滤器调到error,从上往下看,最上面第一条最准确所以也最重要,往往指出了错误的地方。
5、数据库中的字段命名和程序中变量的命名不要混淆。例如本例中数据库中的id名字为“city_id”而程序中使用的是cityId作为变量。无论是大小写还是下划线形式都有区别,要养成风格遵守习惯。
其实写程序重要的是心法。当然,做什么事情都是这样。几百行几千行的程序只要不到一秒钟就执行完毕,给用户的感觉是方便快捷。可是其中的每一件事情就在写代码的时候就如同一件一件亲自做完一样。所以你要怀着自己跑腿去做好一件事的心态去写代码,怀着自己的组织出现问题打电话一个一个询问的态度去修改代码。这样才是一个心态。
该快是因为机器执行快,该慢是因为事情都是经过思考和安排才可以做好,所以思考和安排的时候要慢,要稳,要考虑周全。
作为一个工程师的时候就安静地思考自己的问题,而作为组织者的时候就要积极发言,积极组织。都是同样的道理。
自己的逻辑首先要清楚才能去debug,如果自己都不知道代码在做什么,只能越调越乱。
给自己压力就是不达目的不罢休,这样才可以进步。
默写CoolWeather第一部分第二遍的总结:
1、Github一定要好好使用来管理版本备份数据。
2、发发现了很多的bug
1、url的String 没有加"http://"导致无法访问。
2、数据库中的查询关系没有搞清楚,导致分不清id,和code的关系,导致model模型中遗漏项目。数据流在编码之前一定要设计好。
3、代码中将==携程!=导致逻辑失误。每一函数写完以后要读一遍看看是不是所要表达的意思。
4、runOnUiThread的用法还要再熟悉一下。
5、写重复的代码导致无聊,以至于下意识照抄导致city、county关键字弄混。可见进行合理的架构来有意识地对比关键字是多么重要。
3、重点总结
1、xml文件中空间的关系,布局还要多多熟悉。
2、ListView,ListAdapterd,和ArrayList的组合用法。
3、progressDialog的用法。
4、SQListDBHelper生成数据库。和单例模式。
5、使用String->URL->httpURLConnection->bufferedReader进行网络访问的方法。
6、使用String.split()处理json格式数据的方法,注意判断空指针。
7、定义接口,并被其他函数调用时候实现的用法,对接口的体会。
8、在新线程中使用的函数变量要使用final进行常量修饰。
9、android多线程调试。
4、可以从结构上从新设计
1、函数重载节约代码。
2、使用code代替code设计数据流向和查询关系。
相关文章推荐
- 单片机IO驱动LCD
- 重启或杀掉nginx进程后丢失nginx.pid
- 加密解密与数字签名
- 简单统计代码行数
- 使用GDI+进行图片处理时要注意的问题
- 查看oracle执行计划(命令实现)
- 杭电ACMA + B Problem II问题解析
- vs2010运行C程序时,运行结果窗口一闪而过
- Android中Handler引起的内存泄露
- 鼠标绘制图形
- ATS是什么
- 第四周--项目2 建设“单链表”算法库
- android数据库的基本简单操作
- c++ 中__declspec 的用法
- 排序二叉树
- Windows安装Nginx并支持PHP
- java遍历文件夹详解
- Chrome浏览器扩展开发系列之十五:跨域访问的XMLHttpRequest对象
- GitHub Linux下使用方法
- 网络请求 post 的接受请求头的代理方法