觉得很有用,以后常看看
来源:互联网 发布:樱井知香番号合集 编辑:程序博客网 时间:2024/05/30 23:07
转自:http://blog.csdn.net/menxu_work/article/details/9345349
总结 前辈的重构经验
完成这样的重构,需要几个注意点,分享一下
1 一定要在有充分测试代码的前提下重构
2 测试代码的作用是
1 需求固定了
2 保证重构后逻辑不会发生变化
3 有测试心里有底,可以放心进行大量的结构上的重构
3 重构时,先梳理代码,删除无用的逻辑,进行小的消除重复代码重构,封装小方法重构,等等,目的是让大段大段代码之前的耦合度降低,在这样的基础上才能方便的套用一些合适的代码组织方法(即设计模式),抽取合适的模型等等
这些说起来比较片面需要结合自己的经验看别人的代码或者 重构那本书慢慢积累
另外说几句
1 目前的代码,虽然我很满意,但是肯定还是有不足的地方
比如,如果有代码经验的人看到这些代码,肯定会吐槽出一些需要重构的地方
2 有些代码组织方式没有好坏之分
这种情况下,以团队大部分人的习惯来
针对Android有以下几点需要注意:
1.是不是应该把数据刷新操作放在onResume()中?
2.关于activity,fragment与弹窗
3.copy布局文件和复用布局文件的优缺点
4.优化代码的思路
5.千万要保护好自己的代码
6.模板方法没有写好会很悲剧
7.不要频繁重复的调用数据
8.类中的成员变量前加"m"
9.一定要有自己的技术博客和帖子
10.一个类应该纯粹,一个类就只应该做一件事情
下面是一些经常出现的错误:
1、安装apk文件出现相应的错误
(1)提示错误OLDER_SDK,这表明现有的android的sdk版本太低,应该使用较高版本的sdk。
(2)提示错误UPDATE_INCOMPATIABLE,这表明apk与现有的sdk存在兼容性上的冲突,可以检查一下是否使用了完全一样的skin等参数设置,这些参数与apk应用程序的不一致也会导致安装时候出现错误。
(3) 有时安装apk没有出现错误,但是一运行就出现“程序异常终止”的错误:
原因一般有:应用程序的权限没有设置好,出现了问题;应用程序可能会使用sdcard,而没有挂载sdcard镜像。
(4)目前Android的开发主要是基于800*480(WVQA800)的皮肤,皮肤的不同可能会影响应用程序的兼容性。
2、在模拟器的sdcard镜像插入的图片后,不能通过图片浏览器进行显示。
如果是在android运行的过程中,往sdcard中插入图片,不会立即显示出来,需要重启android虚拟器。
3、开发Android应用程序,容易忽视的一点就是:忘记给应用程序赋予合适的访问权限。<uses-permission>
在通过DDMS模拟GPS定位时,模拟器在install apk之后,始终显示“无法显示物理位置”的错误信息,后来重启一下,就可以了。所以得到启发:如果某个应用程序有一定问题的话,尝试把android重启一下,或许就可以了!
4、android的Google MAP相关内容
(1)Google MAP API的获取
Android Maps API Key Signup
The Android Maps API lets you embed Google Maps in your own Android applications. A single Maps API key is valid for all applications signed by a single certificate.
You also need a Google Account to get a Maps API key, and your API key will be connected to your Google Account.
Android Market enables developers to easily publish and distribute their applications directly to users of Android-compatible phones.
(2)运行android与Google Map相关的应用程序时,提示错误:Failed to find an AVD compatible with target 'Google APIs'.
其实问题在于:之前应用程序加载的都是没有Google api的android21的平台,google api是可选包。所以必须重新创建一个有android和google api的21平台。
5、如何导入Android SDK中的Sample代码
(1)不能通过file->import来加载,因为这里import是已经建立好的工程,而Sample中的只是source文件
(2)所以需要file->new->android project->creating project from existing sample.在下拉框中选择具体的Sample。
注意不能选择creating projects from exisiting source,这样建立的工程是有错误的,没有R.java文件。
(3)出现的没有R.java文件的问题 :
存在这样一种可能:由于res目录的一些xml文件中对于单引号没有使用“/”进行转义,这个还是通过console中的错误提示看出来的。
6、安装改进版本后的apk文件出现如下的错误
Com.xiedong.calendar:
signatures do not match the previously installed version ignoring
Package couldn't not be installed in /data/ app / com.xiedong.calendar.apk
解决方法:
(1)删除之前建立的avd,然后重新创建,编译和运行
(2)或者在已经存在的avd基础上,启动过程中选择上 wipe user data 如截图所示
- 觉得很有用,以后常看看
- 觉得很有用 粘下来看看 对应届生作用大点
- 马上就要毕业了,留着以后常看看
- 在CSDN上看到一个贴子,觉得写得很对,放这里,常看看!
- 这个觉得很有用,转了!
- perl 脚本测试(觉得很有用)
- 转载代码,我觉得很有用
- java学习当中,常可以看到的问题,我觉得比较有用,就发表出来!
- 当你发现自己不太适合某个东西 ,但你觉得它真的逼格很高,以后也许会很有用,你会放弃它吗(未完)
- 为java桌面程序制作安装向导程序---觉得有用,以后用
- 以后有用
- ios 对请求工具AFNetWoring封装自己的一些用法分享(觉得有用的可以看看)
- 开通了博客,以后写一点或者转一点自己觉得有用也对大家有用的各种东西
- 冒个泡,以后常来
- Traceroute命令刚学的,觉得很有用!
- 论坛里看到的一篇文章,觉得很有用。
- 转【个人觉得很有用的】Java虚拟机深入研究
- 常回家看看
- VS_WinForm_IO.Ports.SerialPort串口通信初步程序代码
- iPhoneX刚发布,各界的段子手就来了,笑喷!
- eclipse快捷键
- Matlab之GUI生成EXE文件
- error LNK2019: 无法解析的外部符号
- 觉得很有用,以后常看看
- 使用VS2017的跨平台项目对muduo进行编译
- C语言初步-第24讲:if语句的嵌套(个人所得税计算器if语句版)
- 创建型模式之工厂模式
- Linux运维之网络文件系统NFS介绍与部署(CentOS 7.2版本)
- 读书笔记-07随需而变:网站的可扩展架构
- iOS中JS与原生OC互相调用之问题总结二
- Didn't find class "com.google.firebase.provider.FirebaseInitProvider"
- The study of Higher-order function in Python(20170913)