自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 gtest

gtest作为google开发的自动测试的利器,

2014-10-10 14:22:30 370

原创 请写伪代码

写这篇blog之前,我其实是没有太多的实践经验的,所以只能是纸上谈兵了。

2014-08-08 00:17:20 770

原创 编程不全是智慧

对我而言,做一个项目,最重要的部分不是项目是否成功,而是花费若干sh

2014-08-07 23:30:53 346

原创 (八)学习小结

学习一门语言,最快上手的捷径就是要

2014-07-31 11:03:07 378

原创 WPF的学习

一、创建新的自定义控件"project"

2014-07-21 15:37:16 302

原创 浅析ControlTemplate类

Specifies the visual structure and behavioral aspects of a Control that can be shared across multiple instances of the control

2014-07-17 11:58:57 1675

原创 XAML和WPF

XML和WPF确实是两个不可分割的部分。WPF的实现很大部分依赖于XML提供数据源。因此有必要

2014-07-17 10:12:20 485

原创 Setter类的属性

属性有:1. IsSealed 表明该

2014-07-15 18:06:25 1540

原创 多重绑定

在wpf中,绑定是一个重要的

2014-07-15 17:02:52 1511

原创 await-async

本文是对msdn上的文档的翻译

2014-06-20 16:05:20 610

原创 c#查漏补缺

一、构造对象的时候直接给属性赋值。class A{int

2014-06-18 10:43:31 420

翻译 InternetOpen

参考链接:msdn.microsoft.com/en-us/library/windows/desktop/aa383996(v=vs.85).aspx为了使网络连接生效,必须用函数InternetOpen函数创建一个HINTERNET根句柄。InternetOpen函数接收的参数为:用户代理信息(访问Internet函数的应用),访问网络的类型,代理主机和地址以及代理的行为动作。用户代理

2014-05-27 11:18:55 5266

原创 (六)Python对象的重定向

流定向为Python对象

2014-05-22 00:40:52 643

翻译 (五)shell环境变量

shell变量,也就是熟知的环境变量,

2014-05-21 22:09:56 674

原创 (七)如何建立自己的package

python的import语法和java有些类似。java中有包的概念,所有的

2014-05-20 17:36:54 517

原创 (四)脚本上下文

上下文,是指python脚本执行的环境。本文大部分内容都是对文档《programming python》(第四版)第三章的选摘和翻译。如果有不正确的地方,或者有存疑之处,请参考原文。当前工作目录(CWD)对于python脚本而言,当前g

2014-05-20 13:34:39 725

原创 (三)os模块

os是python的两大核心系统模块之一,另一个是sys。它bao

2014-05-20 11:37:04 413

原创 (二)常用工具

模块sys和os

2014-05-19 14:27:46 362

原创 (一)python系统模块

本文参考programming python第四版。主要是部分章节的翻译,如果有不准确的地方,请

2014-05-19 10:49:19 610

原创 Qt中QEvent的过滤和分发

#include "useevent.h"#include #include #include UseEvent::UseEvent(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags){ setWindowTitle(QString("My Window")); setFixedWidth(400);

2014-05-17 01:29:22 410

重建——改善既有代码的设计

重构(名词):对软件内部结构的一种调整,目的是在不改变"软件之可察行为"前提下,提高其可理解性,降低其修改成本.重构(动词):使用一系列重构准则(手法),在不改变"软件之可察行为"前提下,调整其结构. 两种定义都强调是在不改变"软件的外部行为"前提下,不改变"软件之可察行为"就是说让修改不影响外部使用程序(程序员),在个外部来看,程序的行为和结果没有任何的变化.重构只是对程序内部结构进行调整,让代码更加容易理解,然后更容易维护. 本书清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。 章节列表如下: 目录 第1章 重构,第一个案例1 1.1 起点1 1.2 重构的第一步7 1.3 分解并重组statement()8 1.4 运用多态取代与价格相关的条件逻辑34 1.5 结语52 第2章 重构原则53 2.1 何谓重构53 2.2 为何重构55 2.3 何时重构57 2.4 怎么对经理说60 2.5 重构的难题62 2.6 重构与设计66 2.7 重构与性能69 2.8 重构起源何处71 第3章 代码的坏味道75 3.1 DuplicatedCode(重复代码)76 3.2 LongMethod(过长函数)76 3.3 LargeClass(过大的类)78 3.4 LongParameterList(过长参数列)78 3.5 DivergentChange(发散式变化)79 3.6 ShotgunSurgery(霰弹式修改)80 3.7 FeatureEnvy(依恋情结)80 3.8 DataClumps(数据泥团)81 3.9 PrimitiveObsession(基本类型偏执)81 3.10 SwitchStatements(switch惊悚现身)82 3.11 ParallelInheritanceHierarchies(平行继承体系)83 3.12 LazyClass(冗赘类)83 3.13 SpeculativeGenerality(夸夸其谈未来性)83 3.14 TemporaryField(令人迷惑的暂时字段)84 3.15 MessageChains(过度耦合的消息链)84 3.16 MiddleMan(中间人)85 3.17 InappropriateIntimacy(狎昵关系)85 3.18 AlternativeClasseswithDifferentInterfaces(异曲同工的类)85 3.19 IncompleteLibraryClass(不完美的库类)86 3.20 DataClass(纯稚的数据类)86 3.21 RefusedBequest(被拒绝的遗赠)87 3.22 Comments(过多的注释)87 第4章 构筑测试体系89 4.1 自测试代码的价值89 4.2 JUnit测试框架91 4.3 添加更多测试97 第5章 重构列表103 5.1 重构的记录格式103 5.2 寻找引用点105 5.3 这些重构手法有多成熟106 第6章 重新组织函数109 6.1 ExtractMethod(提炼函数)110 6.2 InlineMethod(内联函数)117 6.3 InlineTemp(内联临时变量)119 6.4 ReplaceTempwithQuery(以查询取代临时变量)120 6.5 IntroduceExplainingVariable(引入解释性变量)124 6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值)131 6.8 ReplaceMethodwithMethodObject(以函数对象取代函数)135 6.9 SubstituteAlgorithm(替换算法)139 第7章 在对象之间搬移特性141 7.1 MoveMethod(搬移函数)142 7.2 MoveField(搬移字段)146 7.3 ExtractClass(提炼类)149 7.4 InlineClass(将类内联化)154 7.5 HideDelegate(隐藏“委托关系”)157 7.6 RemoveMiddleMan(移除中间人)160 7.7 IntroduceForeignMethod(引入外加函数)162 7.8 IntroduceLocalExtension(引入本地扩展)164 第8章 重新组织数据169 8.1 SelfEncapsulateField(自封装字段)171 8.2 ReplaceDataValuewithObject(以对象取代数据值)175 8.3 ChangeValuetoReferen

2013-01-27

数据库系统原理教程

比较基础的数据库教程。适合初学者的学习。

2012-10-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除