问题标签 [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 投票
4 回答
2701 浏览

c# - 非虚拟接口 (NVI) 习语在 C# 中和在 C++ 中一样有用吗?

在 C++ 中,我经常需要NVI来获得 API 的一致性。不过,我认为它在 C# 中的使用并不多。我想知道这是否是因为 C# 作为一门语言提供了不需要 NVI 的功能?(不过,在需要的地方,我仍然在 C# 中使用 NVI。)

0 投票
6 回答
12519 浏览

c++ - 基本 C++ 习语/技巧

注意:标记为社区 wiki。

最近几天,我意识到我对 C++ 知之甚少。

除了:

  • 使用 STL
  • 实施 RAII
  • 实现引用计数的智能指针
  • 编写我自己的基于策略的模板类
  • 重载运算符 << 为了好玩

优秀的 C++ 程序员还必须了解哪些其他技术?

谢谢!

0 投票
3 回答
2111 浏览

c++ - Why is there no boost::copy_on_write_ptr?

I just saw this nice copy-on-write pointer implementation. It looks pretty generic and useful, so my question is: Is such a class contained in any of the C++ toolkits (boost, loki, etc.)? If not, I'd really like to know why because it is a really useful idiom and apparently a generic implementation seems doable (like the one I linked to).

0 投票
18 回答
2347 浏览

terminology - 著名的同名编程技术

在某些运动中,某些技术或元素以发明或首次执行它们的运动员的名字命名——例如,比尔曼旋转

他们是否将这些名称广泛用于编程技术和习语?这些是什么?需要明确的是,我明确没有询问算法,这些算法通常以其创造者的名字命名。

例如,一个是Schwartzian transform,但我想不起来了。

0 投票
9 回答
15361 浏览

python - str.replace(..).replace(..) 令人作呕的是 Python 中的标准习语吗?

例如,假设我想要一个函数来转义用于 HTML 的字符串(如在 Django 的转义过滤器中):

这行得通,但它很快就会变得丑陋,而且算法性能似乎很差(在这个例子中,字符串被重复遍历了 5 次)。更好的是这样的:

是否存在这样的函数,或者是使用我之前编写的标准 Python 习语?

0 投票
10 回答
41821 浏览

shell - 在 shell 脚本中返回多个值的习惯用法

是否有从脚本中的 bash 函数返回多个值的习惯用法?

http://tldp.org/LDP/abs/html/assortedtips.html描述了如何回显多个值并处理结果(例如,示例 35-17),但如果某些返回值是带空格的字符串,这会变得很棘手在。

一种更结构化的返回方式是分配给全局变量,例如

我意识到,如果我需要在 shell 脚本中重新进入,我可能做错了,但我仍然感到非常不舒服,只是为了保存返回值而抛出全局变量。

有没有更好的办法?我更喜欢可移植性,但如果我必须指定#!/bin/bash.

0 投票
2 回答
1781 浏览

api - JDK 中空字符串数组的标准位置

嗨,在 JDK > 1.5 中是否有访问空数组常量的标准位置。

当我想将字符串集合(例如 ArrayList)转换为字符串数组时,我发现自己在使用我自己的常量类中定义的字符串:

然后在我的客户端代码中类似于:

我想知道这是否是“惯用的”方式,或者我是否遗漏了一些东西,我从我所做的简短搜索中得到的印象是这种事情在许多人的代码中很普遍。

非常感谢任何想法、答案、评论(除此之外我不应该真正使用字符串数组),

干杯西蒙

0 投票
5 回答
20256 浏览

python - '... if ... else ...' 表达式的 Python 成语

如何将表达式写得更短:

或者

谢谢!

0 投票
3 回答
324 浏览

ruby - Ruby switch 像成语

我最近在 Ruby on Rails 中启动了一个项目。我以前用 Python 完成所有项目,但决定试一试 Ruby。

在我用 Python 编写的项目中,我使用了一个很好的小技巧,这篇文章的正确答案解释了这一点:

字典或 If 语句,Jython

我使用这种技术是因为 Python 没有原生的 switch 函数,而且它也摆脱了大的 if else 块

我一直在尝试在 Ruby 中重新创建上述方法,但似乎无法完全理解。

谁能帮帮我?

0 投票
1 回答
14302 浏览

ruby-on-rails - Rails 3:在 Rails 中使用 JSON 响应 REST-ful 操作的正确方法是什么?

我正在尝试使用对 RESTful 资源控制器的 JSON 响应为我的 rails 应用程序创建一个 API。这对我来说是一种新的体验,所以我正在寻找一些指导和指点。要开始:

  1. 在 Rails 应用程序中,用 JSON 响应 REST-ful 控制器方法的“正确”方式是什么?(创建、更新、销毁)
  2. 是否有一种惯用的方式来通过 JSON 响应指示成功/失败?

附加信息:

  • 我目前正在使用 rails 3.0.beta2
  • 我想避免使用插件或 gem 来完成繁重的工作,我的目标是更好地了解如何制作 rails 3 API。
  • 链接到我可以找到有关该主题的更多信息的地方也将不胜感激,在谷歌上进行一些快速搜索对我没有多大帮助。