182得票4回答
为什么全局变量是有害的?

我正试图了解为什么在Python(以及编程普遍情况下),使用global被认为是不良实践。有人可以解释一下吗?也欢迎提供更多信息的链接。

169得票5回答
Lambda表达式与方法引用

IntelliJ一直建议我使用方法引用来替换我的lambda表达式。 它们之间是否有任何客观差别?

92得票10回答
if语句-短路求值与可读性

有时候,if语句可能会相当复杂或冗长,为了易读性,最好在if之前提取复杂的调用。例如:if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } 变成这样bool b1 = S...

87得票2回答
Webpack 4 对于具有 sideEffects: false 属性的包有何期望?

Webpack 4新增了一个功能:现在支持在它打包的模块的package.json里添加一个sideEffects标志。 引自:Webpack 4:今天发布 引用块: 过去的30天里,我们与每个框架紧密合作,确保它们准备好在各自的CLI等方面支持webpack 4。即使是像lodash-e...

78得票7回答
纯度 vs 引用透明度

这些术语似乎有不同的定义,但我一直认为其中一个暗示另一个;我无法想到任何情况下表达式是引用透明但不是纯的,或者反之亦然。 维基百科为这些概念维护了不同的文章,并指出: 来自引用透明性: 如果表达式中涉及的所有函数都是纯函数,则该表达式是引用透明的。此外,一些不纯函数可以包含在表达式...

52得票5回答
为什么引发异常是一种副作用?

根据副作用的维基百科条目,引发异常构成了一种副作用。考虑下面这个简单的Python函数: def foo(arg): if not arg: raise ValueError('arg cannot be None') else: return...

52得票7回答
使用del语句会有负面影响吗?

我通常在代码中使用del删除对象:>>> array = [4, 6, 7, 'hello', 8] >>> del(array[array.index('hello')]) >>> array [4, 6, 7, 8] >>&...

47得票5回答
"效果明显"的确切含义是什么?

一次又一次地,我读到了“effectful”这个词,但我仍然无法清晰地定义它的含义。我猜正确的语境是“effectful计算”,但我也看到过“effectful(values)”这个术语。 我曾经认为“effectful”意味着“具有副作用”。但在Haskell中,除了某种程度上的IO之外,...

44得票3回答
i == (i = 2) 的结果是什么?

运行以下代码: // In Java, output ##### public static void main(String[] args) { int i = 1; if(i == (i = 2)) { System.out.println("@@@@@...

37得票7回答
在纯函数式编程中,除了monads,还有哪些选择来使用IO?

单子被描述为Haskell处理IO的解决方案。我想知道是否还有其他纯函数式语言处理IO的方式。