快速复制电脑C盘——轻松备份系统
怎么样能够快速且安全的复制电脑C盘,保证C盘文件数据安全呢?首先我们就应该对我们的电脑C盘进行备份。复制是一种途径,但是C盘是我们电脑的系统盘,有的数据是对复制操作受限的,想要完全复制C盘那么选择对C盘备份是最佳解决方案。
通常来说一款好的备份软件就可以几个步骤全部搞定,快速且安全的复制电脑C盘,我们来看看下面这个操作图解:
第一步:下载轻松备份专业版,然后...
分类:
其他好文 时间:
2015-07-21 10:41:15
阅读次数:
172
题目链接:点击打开链接
题目大意:蜗牛把壳落在了一个树梢上,壳在每一个树梢上的概率是相同的。现在他从树根开始爬,在树杈中可能会有毛毛虫,告诉它壳是否在这个树枝上。每个树枝的长度为1,问最终能找到壳需要爬行的距离期望值最小是多少。
求期望值 = ∑到第i个树梢的距离*在第i个树梢上的概率(i为叶子节点) = 到所有叶子节点的和/叶子节点数。也就是说要求一个序列,按这个序列到达每一个节点的和是最小...
分类:
其他好文 时间:
2015-07-21 10:42:51
阅读次数:
115
概念:本文中的”去除中间人对象”是指把 在中间关联而不起任何其他作用的类移除,让有关系的两个类直接进行交互。
正文:有些时候在我们的代码会存在一些”幽灵类“,设计模式大师Fowler称它们为“中间人”类,“中间人”类除了调用别的对象之外不做任何事情,所以“中间人”类没有存在的必要,我们可以将它们从代码中删除,从而让交互的两个类直接关联。
如下代码所示,Consumer 类要得...
分类:
其他好文 时间:
2015-07-21 10:42:44
阅读次数:
101
概念:本文中的”为布尔方法命名”是指如果一个方法带有大量的bool 参数时,可以根据bool 参数的数量,提取出若干个独立的方法来简化参数。
正文:我们现在要说的重构并不是普通字面意义上的重构,它有很多值得讨论的地方。当一个方法带有大量的bool 参数时,会导致方法很容易被误解并产生非预期的行为,
根据布尔型参数的数量,我们可以决定提取出若干个独立的方法来。具体代码如下:
...
分类:
其他好文 时间:
2015-07-21 10:40:39
阅读次数:
207
概念:本文中的”避免双重否定”是指把代码中的双重否定语句修改成简单的肯定语句,这样即让代码可读,同时也给维护带来了方便。
正文:避免双重否定重构本身非常容易实现,但我们却在太多的代码中见过因为双重否定降低了代码的可读性以致于非常让人容易误解真正意图。存在双重否定的代码具有非常大的危害性,因为这种类型的代码容易引起错误的假设,错误的假设又会导致书写出错误的维护代码,最终会导致bug产...
分类:
其他好文 时间:
2015-07-21 10:41:19
阅读次数:
84
概念:本文中的”引入契约式设计”是指我们应该对应该对输入和输出进行验证,以确保系统不会出现我们所想象不到的异常和得不到我们想要的结果。
正文:契约式设计规定方法应该对输入和输出进行验证,这样你便可以保证你得到的数据是可以工作的,一切都是按预期进行的,如果不是按预期进行,异常或是错误就应该被返回,下面我们举的例子中,我们方法中的参数可能会值为null的情况,在这种情况下由于我们没有验...
分类:
其他好文 时间:
2015-07-21 10:41:33
阅读次数:
97
在一些算法中,经常会用到随机数,最常用的随机数有两种,一是服从均匀分布的随机数,二是服从高斯分布(正态分布)的随机数。在标准C中并没有产生高斯分布的随机数发生器,只有服从均匀分布的随机数发生器rand(),那么如何通过rand()来模拟出高斯分布特征的伪随机数呢?这就是本文的话题。
实验原理:高斯分布的随机数在概率上服从高斯分布,如果通过rand()产生某个区间的随机数,通过高斯分布的概...
分类:
其他好文 时间:
2015-07-21 10:40:49
阅读次数:
134
概念:本文中的”分解复杂判断”是指把原来复杂的条件判断等语句用尽快返回等方式简化代码。
正文:简单的来说,当你的代码中有很深的嵌套条件时,花括号就会在代码中形成一个长长的箭头。我们经常在不同的代码中看到这种情况,并且这种情况也会扰乱代码的可读性。
如下代码所示,HasAccess方法里面包含一些嵌套条件,如果再加一些条件或者增加复杂度,那么代码就很可能出现几个问题:1,可读性...
分类:
其他好文 时间:
2015-07-21 10:40:41
阅读次数:
127
概念:本文中的“引入参数对象”是指当一个方法的参数过多或者过为复杂时,可以考虑把这些参数封装成一个单独的类。
正文:如果一个方法所需要的参数大于5个,理解该方法的签名就变得比较困难,因为这样感觉参数很长、样式不好并且没有分类,所以我们有必要把参数进行封装。
namespace LosTechies.DaysOfRefactoring.SampleCode.ParameterObject....
分类:
其他好文 时间:
2015-07-21 10:40:12
阅读次数:
108
概念:本文中的”合并继承”是指如果子类的属性和方法也适合于基类,那么就可以移除子类,从而减少依赖关系。
正文:上一篇我们讲到“提取子类”重构是指当基类中的一个责任不被所有的子类所需要时,将这些责任提取到合适的子类中。而我们今天所要讲的的“合并继承”重构一般用在当我们觉得不需要子类的时候。
如下代码所示,StudentWebSite子类除了有一个属性用来说明网站是否是活动的外没有别的责任,...
分类:
其他好文 时间:
2015-07-21 10:38:51
阅读次数:
107
概念:本文中的”提取子类”是指把基类中的一些不是所有子类都需要访问的方法调整到子类中。
正文:当你的基类中存在一些方法不是所有的子类都需要访问,你想将它们调整到子类中时,这个重构会变得很有用了。如下代码所示,我们需要一个 Registration类用来处理学生选课的信息。但是当Registration类开始工作后,我们意识到我们会在两种不同的上下文中使用Registration类,...
分类:
其他好文 时间:
2015-07-21 10:40:42
阅读次数:
103
概念:本文中的“提取工厂类”是指如果要创建的对象很多,则代码会变的很复杂。一种很好的方法就是提取工厂类。
正文:一般来说我们需要在代码中设置一些对象,以便获得它们的状态,从而使用对象,所谓的设置通常来说就是创建对象的实例并调用对象的方法。有时如果要创建的对象很多,则代码会变的很复杂。这便是工厂模式发挥作用的情形。工厂模式的复杂应用是使用抽象工厂创建对象集,但我们在这里只是使用基本的...
分类:
其他好文 时间:
2015-07-21 10:38:09
阅读次数:
120
概念:本文中的“使用条件判断代替异常”是指把没有必要使用异常做判断的条件尽量改为条件判断。
正文:如下代码所示,在日常的编码中我们经常需要用到异常来控制程序流,Start方法里面用try catch 做条件判断,我们知道这里没有必要使用这种方式,因为你不需要做类型不可控的类型转换,也不需要处理异常行为,所以我们应该对它进行重构。
namespace LosTechies.DaysOf...
分类:
其他好文 时间:
2015-07-21 10:39:09
阅读次数:
138
#include
#include
#include
#include "XZip.h"
//复制文件夹实现
void copy_all_file(LPCSTR file_path, std_string &backup_path) //第一个参数为被复制文件,第二个是复制到的地址
{
if(!(boost::filesystem::exists(backup_path.c_str())...
分类:
其他好文 时间:
2015-07-21 10:38:52
阅读次数:
161
概念:本文中的“封装条件”是指条件关系比较复杂时,代码的可读性会比较差,所以这时我们应当根据条件表达式是否需要参数将条件表达式提取成可读性更好的属性或者方法,如果条件表达式不需要参数则可以提取成属性,如果条件表达式需要参数则可以提取成方法。
正文:如下代码所示,PerformCoolFunction里面的if条件判断比较复杂,看起来有点杂乱,所以就把它提出来。
using Sys...
分类:
其他好文 时间:
2015-07-21 10:39:01
阅读次数:
97
题目:选课系统,每个人选5门课,如果很多人选择相同5门课认为这个组合比较热门,
现在要求出选择最热门课程组合的选择人数。
分析:数据结构,STL。对每组数据先排序,然后利用map统计求解即可。
(也可以使用hash表或者利用long long压缩排序统计)
说明:如果有很多人们组合,都算在一起。
#include
#include
#i...
分类:
其他好文 时间:
2015-07-21 10:40:24
阅读次数:
139
概念:本文中的“提取方法对象”是指当你发现一个方法中存在过多的局部变量时,你可以通过使用“提取方法对象”重构来引入一些方法,每个方法完成任务的一个步骤,这样可以使得程序变得更具有可读性。
正文:如下代码所示,Order 类中的Calculate方法要完成很多功能,在之前我们用“提取方法”来进行重构,现在我们采取“提取方法对象”来完成重构。
using System.Collect...
分类:
其他好文 时间:
2015-07-21 10:38:11
阅读次数:
102