码迷,mamicode.com
首页 > 2015年07月21日 > 全部分享
微信企业号开发:获取AccessToken
微信企业号开发,需要调用微信企业号的相关接口,则必须使用AccessToken,但AccessToken需要corpid,corpsecret两个参数调用相关接口才能获取。而且每一个接口都有一定的次数限制,当然获取AccessToken的接口也有这个限制。每一个AccessToken的有效期为7200秒,也就是两个小时,在有效期内调用接口,则自动续期。因此建议在获取到AccessToken后,保存...
分类:微信   时间:2015-07-21 10:40:32    阅读次数:348
去除中间人对象
概念:本文中的”去除中间人对象”是指把 在中间关联而不起任何其他作用的类移除,让有关系的两个类直接进行交互。   正文:有些时候在我们的代码会存在一些”幽灵类“,设计模式大师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
HTML5在线学习网站推荐
因为HTML5流行及其功能的强大,越来越多的人加入HTML5的学习。当然,目前大部分人学习都是通过网络,HTML5同样有许多教学网站,那么HTML5在线学习网站有哪些?现在请看我为大家推荐的HTML5在线学习网站。...
分类:Web程序   时间:2015-07-21 10:41:36    阅读次数:259
分解复杂判断
概念:本文中的”分解复杂判断”是指把原来复杂的条件判断等语句用尽快返回等方式简化代码。   正文:简单的来说,当你的代码中有很深的嵌套条件时,花括号就会在代码中形成一个长长的箭头。我们经常在不同的代码中看到这种情况,并且这种情况也会扰乱代码的可读性。 如下代码所示,HasAccess方法里面包含一些嵌套条件,如果再加一些条件或者增加复杂度,那么代码就很可能出现几个问题:1,可读性...
分类:其他好文   时间:2015-07-21 10:40:41    阅读次数:127
[LeetCode][Java] Minimum Depth of Binary Tree
题目: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 题意: 给定一棵二叉树,返回它的最小高度。 最小高...
分类:编程语言   时间:2015-07-21 10:39:59    阅读次数:132
引入参数对象
概念:本文中的“引入参数对象”是指当一个方法的参数过多或者过为复杂时,可以考虑把这些参数封装成一个单独的类。   正文:如果一个方法所需要的参数大于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
vc复制文件夹实现(可以复制三层路径)以及zip压缩实现
#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
UVa 11286 - Conformity
题目:选课系统,每个人选5门课,如果很多人选择相同5门课认为这个组合比较热门,             现在要求出选择最热门课程组合的选择人数。 分析:数据结构,STL。对每组数据先排序,然后利用map统计求解即可。             (也可以使用hash表或者利用long long压缩排序统计) 说明:如果有很多人们组合,都算在一起。 #include #include #i...
分类:其他好文   时间:2015-07-21 10:40:24    阅读次数:139
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!