问题标签 [idioms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
24 回答
359431 浏览

python - Python成语返回第一项或无

我敢肯定有一种更简单的方法可以做到这一点,而我只是没有想到。

我正在调用一堆返回列表的方法。该列表可能为空。如果列表非空,我想返回第一项;否则,我想返回 None。此代码有效:

在我看来,这样做应该有一个简单的单行成语,但对于我的生活,我想不出它。有没有?

编辑:

我在这里寻找单行表达式的原因不是我喜欢非常简洁的代码,而是因为我不得不编写很多这样的代码:

我想做的事情当然可以通过一个函数来完成(并且可能会是):

我发布这个问题是因为我经常对 Python 中的简单表达式可以做什么感到惊讶,并且我认为如果有一个简单的表达式可以解决问题,那么编写一个函数是一件愚蠢的事情。但是看到这些答案,似乎函数简单的解决方案。

0 投票
4 回答
570 浏览

python - 测试输入是格式正确的数字的最pythonic方法是什么

我有一个期望实数(整数或浮点数)作为其输入的函数,并且我试图在对其进行数学运算之前验证此输入。

我的第一直觉是从 try-except 块中将输入转换为浮点数。

我也可以打电话isinstance(mydata, (float, int, long) ),但“所有这些可能是数字”的列表对我来说似乎有点不雅。

最pythonic的方式是什么?还有另一个我忽略的选择吗?

0 投票
24 回答
28422 浏览

python - 编程语言在什么情况下真正使用了 Infinity 值?

所以在 Ruby 中有一个技巧来指定无穷大:

我相信 Python 你可以做这样的事情

不过,这些只是示例,我确信大多数语言在某些方面都具有无限性。你什么时候会在现实世界中真正使用这个构造?为什么在范围内使用它比仅使用布尔表达式更好?例如

总而言之,我正在寻找的是使用 Infinity 的真实世界理由。

编辑:我正在寻找真实世界的代码。可以说这是您“可以”使用它的时候,人们实际使用它的时候,这一切都很好。

0 投票
5 回答
23173 浏览

java - Java中的LBYL与EAFP?

我最近在自学 Python,并发现了关于代码执行前错误检查的 LBYL/EAFP 习语。在 Python 中,似乎公认的风格是 EAFP,而且它似乎与该语言很好地配合。

LBYL 之前看看_

EAFP Ask F orgivenessPermission容易

我的问题是:我什至从未听说过使用 EAFP 作为主要数据验证结构,来自 Java 和 C++ 背景。EAFP 在 Java 中使用是明智的吗?还是有太多的异常开销?我知道只有在实际抛出异常时才会产生开销,所以我不确定为什么不使用更简单的 EAFP 方法。只是偏好吗?

0 投票
39 回答
3928724 浏览

python - if __name__ == "__main__": 做什么?

给定以下代码,它的作用是if __name__ == "__main__":什么?

0 投票
9 回答
1170 浏览

c++ - 好的或坏的 C++ 成语 - 纯粹用于构造函数/析构函数的对象?

我有一些类除了在它们的构造函数/析构函数中什么都不做。这是一个例子

我有点担心未来的可读性。我在这里是不是太“狡猾”了,变量(“忙”)从未在代码中实际使用过?一些静态分析工具是否可以建议将它们删除,或者这个习语是否足够普遍不用担心?

0 投票
3 回答
1356 浏览

javascript - 用于代码结构的 Javascript 成语

我的 javascript 多次包含在 script 标签中,如下所示:

现在我在code.js中有这段代码,可以让我的代码只运行一次,而不会覆盖我的命名空间:

有没有更好的结构可以让我的代码只运行一次?

0 投票
43 回答
947634 浏览

java - 如何初始化静态地图?

你将如何Map在 Java 中初始化一个静态变量?

方法一:静态初始化
方法二:实例初始化(匿名子类)还是其他方法?

各自的优缺点是什么?

以下是说明这两种方法的示例:

0 投票
5 回答
1882 浏览

c# - 学习编写惯用的 C# 的最佳资源是什么?

我正在为 c# 程序员寻找像惯用的 ruby​​ 之类的东西

它应该:

  • 适用于已经可以编程的人

  • 更简洁

  • 不是基本的

刚刚在stackoverflow上为这个问题找到了一个更好的线程:c-coding-standard-best-practices

0 投票
9 回答
1365 浏览

c# - 有用的迷你模式(不是设计模式)

我最常用的迷你模式是:

这意味着,我可以将单击的按钮与 ArrayList 中的每个项目进行比较,而不是每个按钮都有一个 case 的 switch 语句。然后,当我找到匹配项时,我会启动正确的文件(尽管“查找”第二部分的操作可能是委托或其他任何内容)。

主要的好处是我没有记住为每个 switch 语句案例添加所有正确代码的问题,我只是在查找 ArrayList 中添加了一个新项目。

(是的,我知道使用 ArrayList 不是最好的方法,但它是旧代码。而且我知道每次循环遍历数组不如使用 switch 语句高效,但这段代码不在紧环)

有没有其他人有任何他们使用的迷你模式来节省时间/精力或使代码更具可读性?它们不必只是与 GUI 相关

更新:不要复制这段代码,我知道它很糟糕,但我没有意识到有多糟糕。改用这样的东西。