erlang提供了binary_to_term,把一个二进制数据转为原始的erlang数据。但是,这个函数也有副作用。如果直接将对端传来的数据做一次 binary_to_term,就可能会导致VM crash掉。...
分类:
其他好文 时间:
2015-01-12 00:25:58
阅读次数:
309
11.3.1 不同的计算策略
Haskell 是一种纯函数式语言,有一个重要的方面,即,不允许任何副作用。有专门的技术在屏幕上输出,或处理文件系统,但对于程序员来说,它是以一种看起来不像有副作用的方式来实现。在这样的语言中,调整计算排序表达式的顺序是可能的;在Haskell 中,直到需要结果,才计算函数;这不会影响程序的结果,因为,函数没有副作用。
C# 和 F# 的函数都可能有副作用,...
分类:
其他好文 时间:
2015-01-11 16:16:53
阅读次数:
195
11.2.3 测试组合函数
在第11.1.2 节,我们讨论跟踪代码中的依赖关系时,使用的C# 方法,类似于上两个示例中的F# 函数,演示函数式编程使得更容易识别函数做什么,访问什么数据。这不仅在写代码时非常有用,而且在测试时也极其有用。
在第11.1 节,我们写过一个命令式方法,打印出由多字组成的名字,但是,它有副作用,会从作为参数传递进来的可变列表中删除元素。只要我们以后不再使用这...
分类:
其他好文 时间:
2015-01-11 13:36:31
阅读次数:
202
Volatile
Volatile 英文单词的意思是不稳定的,反复无常的. 在C语言中用volatile的关键字声明变量,就是说这个变量会发生意想不到的变化,每次用这个值的时候都需要重新去读取. 精确的讲应该是优化器用这个变量的时候每次都需要重新去读取这个值,而不能用保存在寄存器里的变量。这是编译器优化器的副作用,因此有些变量要定义为volatile, 特别是在嵌入式编程中, 这是区分嵌入式工程...
分类:
编程语言 时间:
2015-01-08 22:48:25
阅读次数:
308
1. 概述
有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
2. 解决的问题
将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带...
分类:
编程语言 时间:
2015-01-05 16:36:02
阅读次数:
163
垃圾回收时现代语言的标志之一。垃圾回收解放了手工管理对象释放的工作,提高了程序的健壮性,但是副作用就是程序代码可以对于创建对象变得随意。1、避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情型。a)、避免循环创建对象 如....
def deco(li): li = [1,2,3] def _deco(): li[1] = 20 a = [1,2,3] deco(a) print(a) ![在此输入图片描述][1] [1]: http://static.oschina.net/uploads/space/2014/1225/113047_50Fd_1016427.png...
分类:
编程语言 时间:
2014-12-25 13:12:46
阅读次数:
206
10.1.2 使用记忆化缓存结果
记忆化(Memoization),可以描述为缓存函数调用的结果,听起来可能有点复杂,但是,技术非常简单。正如我们前面提到的那样,在函数式编程中,大多数函数是没有副作用的,因此,如果我们用相同的参数值,两次调用同一个函数,得到的结果相同。
如果我们要得到与上一次相同的结果,为什么还要麻烦去再一次执行函数呢?相反,我们可以缓存这个结果。如果我们把第一次调用的...
分类:
其他好文 时间:
2014-12-18 17:02:59
阅读次数:
192
很多人想要丰胸的朋友都会选择自体脂肪丰胸,下面小编就和大家分享自体脂肪丰胸副作用和护理方法,一起往下看看吧。自体脂肪丰胸的副作用自体脂肪丰胸的副作用可以会出现感染,感染一般于术后5天左右后出现,表现为乳房局部红肿热痛。如果一旦出现发生感染,就需要尽快就医处理。自体脂肪丰胸的护理术后尽量避免减少活动,...
分类:
其他好文 时间:
2014-12-15 16:52:06
阅读次数:
101
控制流
1、不能有不能到达的(unreachable)的代码
2、所有非空语句(non-null statement)应该:
a)不管怎样执行都至少有一个副作用
b)可以引起控制流的转移
3、在预处理之前,空语句只能出现在一行上,其后可以跟有注释,假设紧跟空语句的第一个字符是空格
4、不应使用goto语句
5、不应使用continue语句
6、对任何迭代语句至多只应有一条break...
分类:
其他好文 时间:
2014-12-03 21:31:04
阅读次数:
240