问题标签 [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.
python - Python成语返回第一项或无
我敢肯定有一种更简单的方法可以做到这一点,而我只是没有想到。
我正在调用一堆返回列表的方法。该列表可能为空。如果列表非空,我想返回第一项;否则,我想返回 None。此代码有效:
在我看来,这样做应该有一个简单的单行成语,但对于我的生活,我想不出它。有没有?
编辑:
我在这里寻找单行表达式的原因不是我喜欢非常简洁的代码,而是因为我不得不编写很多这样的代码:
我想做的事情当然可以通过一个函数来完成(并且可能会是):
我发布这个问题是因为我经常对 Python 中的简单表达式可以做什么感到惊讶,并且我认为如果有一个简单的表达式可以解决问题,那么编写一个函数是一件愚蠢的事情。但是看到这些答案,似乎函数是简单的解决方案。
python - 测试输入是格式正确的数字的最pythonic方法是什么
我有一个期望实数(整数或浮点数)作为其输入的函数,并且我试图在对其进行数学运算之前验证此输入。
我的第一直觉是从 try-except 块中将输入转换为浮点数。
我也可以打电话isinstance(mydata, (float, int, long) )
,但“所有这些可能是数字”的列表对我来说似乎有点不雅。
最pythonic的方式是什么?还有另一个我忽略的选择吗?
python - 编程语言在什么情况下真正使用了 Infinity 值?
所以在 Ruby 中有一个技巧来指定无穷大:
我相信 Python 你可以做这样的事情
不过,这些只是示例,我确信大多数语言在某些方面都具有无限性。你什么时候会在现实世界中真正使用这个构造?为什么在范围内使用它比仅使用布尔表达式更好?例如
总而言之,我正在寻找的是使用 Infinity 的真实世界理由。
编辑:我正在寻找真实世界的代码。可以说这是您“可以”使用它的时候,人们实际使用它的时候,这一切都很好。
java - Java中的LBYL与EAFP?
我最近在自学 Python,并发现了关于代码执行前错误检查的 LBYL/EAFP 习语。在 Python 中,似乎公认的风格是 EAFP,而且它似乎与该语言很好地配合。
LBYL (在你之前先看看):_
EAFP ( Ask F orgiveness比Permission更容易):
我的问题是:我什至从未听说过使用 EAFP 作为主要数据验证结构,来自 Java 和 C++ 背景。EAFP 在 Java 中使用是明智的吗?还是有太多的异常开销?我知道只有在实际抛出异常时才会产生开销,所以我不确定为什么不使用更简单的 EAFP 方法。只是偏好吗?
python - if __name__ == "__main__": 做什么?
给定以下代码,它的作用是if __name__ == "__main__":
什么?
c++ - 好的或坏的 C++ 成语 - 纯粹用于构造函数/析构函数的对象?
我有一些类除了在它们的构造函数/析构函数中什么都不做。这是一个例子
我有点担心未来的可读性。我在这里是不是太“狡猾”了,变量(“忙”)从未在代码中实际使用过?一些静态分析工具是否可以建议将它们删除,或者这个习语是否足够普遍不用担心?
javascript - 用于代码结构的 Javascript 成语
我的 javascript 多次包含在 script 标签中,如下所示:
现在我在code.js中有这段代码,可以让我的代码只运行一次,而不会覆盖我的命名空间:
有没有更好的结构可以让我的代码只运行一次?
java - 如何初始化静态地图?
你将如何Map
在 Java 中初始化一个静态变量?
方法一:静态初始化
方法二:实例初始化(匿名子类)还是其他方法?
各自的优缺点是什么?
以下是说明这两种方法的示例:
c# - 学习编写惯用的 C# 的最佳资源是什么?
我正在为 c# 程序员寻找像惯用的 ruby 之类的东西
它应该:
适用于已经可以编程的人
更简洁
不是基本的
刚刚在stackoverflow上为这个问题找到了一个更好的线程:c-coding-standard-best-practices
c# - 有用的迷你模式(不是设计模式)
我最常用的迷你模式是:
这意味着,我可以将单击的按钮与 ArrayList 中的每个项目进行比较,而不是每个按钮都有一个 case 的 switch 语句。然后,当我找到匹配项时,我会启动正确的文件(尽管“查找”第二部分的操作可能是委托或其他任何内容)。
主要的好处是我没有记住为每个 switch 语句案例添加所有正确代码的问题,我只是在查找 ArrayList 中添加了一个新项目。
(是的,我知道使用 ArrayList 不是最好的方法,但它是旧代码。而且我知道每次循环遍历数组不如使用 switch 语句高效,但这段代码不在紧环)
有没有其他人有任何他们使用的迷你模式来节省时间/精力或使代码更具可读性?它们不必只是与 GUI 相关。
更新:不要复制这段代码,我知道它很糟糕,但我没有意识到有多糟糕。改用这样的东西。