何谓重构
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提交其可理解性,降低其修改成本。
重构的目的是软件更容易理解和修改;重构不会改变软件可观察的行为。
两顶帽子比喻
添加新功能 不修改既有代码,只管添加新功能,并通过测试重构 不添加功能,只管改进程序结构
为何重构
重构改进软件设计
改进的重要方向就是消除重复代码。...
分类:
其他好文 时间:
2014-06-07 01:59:57
阅读次数:
243
本人在开发过程中遇到android分辨率适配的问题,已经通过学习分析常用的android应用得到的启示,并且重构布局文件。不足之处,希望高手多多批评指正。多谢了!...
分类:
移动开发 时间:
2014-06-07 01:14:45
阅读次数:
221
本案例在于实现文件的多线程断点下载,即文件在下载一部分中断后,可继续接着已有进度下载,并通过进度条显示进度。也就是说在文件开始下载的同时,自动创建每个线程的下载进度的本地文件,下载中断后,重新进入应用点击下载,程序检查有没有本地文件的存在,若存在,获取本地文件中的下载进度,继续进行下载,当下载完成后,自动删除本地文件。
1. 定义布局文件需要用到的属性名及内容
2. 设置用户的Inte...
分类:
移动开发 时间:
2014-06-05 12:32:32
阅读次数:
356
数据结构成为小语言
面向语言的开发并不一定意味着,一定要自己开发解析器或编译器。这就是说,我们将在下一章学习创建解析器,然后,把这样的解析器和本章介绍的方法照结合起来,去构建一个简单的编译器。可以通过创建数据结构和函数或模块,就能够做很多事,数据结构描述了准备做什么,而函数或模块定义了如何解释结构。
几乎可以用任何语言创建数据结构来表示一个程序,但是 F# 更适合。F# 的文字列表和数组...
分类:
其他好文 时间:
2014-06-05 10:18:35
阅读次数:
220
在Android 4.0 之前可以通过下面的方式获取屏幕的宽高:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int
mScreenW = dm.widthPixels; //得到宽度
...
分类:
移动开发 时间:
2014-06-05 09:30:38
阅读次数:
213
条款35 placement new
直接调用构造函数是行不通的,然而可以通过使用placement new来哄骗编译器调用构造函数:
void *operatornew(size_t, void* p) throw()
{ return p;}
placement new是operator new的一个标准的重载版本,也位于全局名字空间中,但和我们通常看到的operator new不同,...
分类:
编程语言 时间:
2014-06-05 09:20:32
阅读次数:
315
今天工作时,有个临时加的好友问我,怎么利用web页面获取访问者的qq。
以前没有接触过,感觉到很好奇,但是工作中脑子很亢奋,转的快,利用所学的知识迅速想到一条技巧,那就是假想用户在进入我们设定的页面前,已经通过qq进入空间或是邮箱,对,一定会在咱们电脑的浏览器上留下cookie,那么我们设法通过这个cooke做做文章呢,于是在google上找了下,不到几秒就找到了一个比较接近的答案,但是...
分类:
其他好文 时间:
2014-06-05 09:07:14
阅读次数:
205
通过HttpResponse 实现
首先在AndroidManifest中配置允许网络访问
然后实现代码
示例代码如下
String url = "http://www.baidu.com";
HttpGet request = new HttpGet(url);
try {
Ht...
分类:
移动开发 时间:
2014-06-05 08:30:08
阅读次数:
226
通过intent调用打电话,打开地图、打开浏览器,创建邮件,创建事件的操作
截图:
代码
package com.example.hellointent;
import java.util.Calendar;
import java.util.List;
import org.apache.http.protocol.HTTP;
import android.net.Uri;
...
分类:
其他好文 时间:
2014-06-05 08:01:16
阅读次数:
281
在数据挖掘中,K-Means是一种用来计算数据聚集的算法。具体来说,K-Means要解决的问题如下图所示
凭肉眼可以看出,大致可以分为4个点群。但是怎么通过计算机找出这几个点群呢?这就是K-Means要解决的问题。
普通的K-Means算法的步骤如下
(1)随机在图中取K个种子点
(2)对图中的每个点求到这K个点的距离,假设点距离种子点最近,那么属于点群...
分类:
其他好文 时间:
2014-06-05 07:39:11
阅读次数:
733