方法的命名约定是否更改 object 或 return 已更改 object

Naming convention for methods whether they change an object or return changed object

如标题所说,有没有那种命名规范,尤其是python?

例如pythonsorted中有函数(returns改变了object但没有改变object的函数)和listnumpy.ndarray 方法 sort(returns 没什么,但改变了 object)。

但对于 reversedlist.reverse 函数,情况并非如此,reversed returns 迭代器。

在我的例子中,我有排列 class,我想为这两种情况添加 inverse 函数。我应该将它们命名为 invertedinverse(最后一个将在 class 之外)还是分别命名为 get_invset_inv,因为这些方法就像 getter和设置器(对于 sortedsort 也是如此)?

这是我的约定,它在我使用过的所有编程语言中都很有用:

  1. 一个没有side-effects的函数returns一个真值应该以属性 它查询并使用 形容词 作为最后一个词,例如排序items_sorted.
  2. 一个 没有 side-effects 的函数应该命名为 returns 一个 non-truth 值 在结果之后 returns 并使用 名词 作为最后一个词,例如sorted_items.
  3. 具有side-effects 的函数 应根据其作用命名,并使用动词 作为第一个词,例如排序sort_items.

规则 1 和 2 也适用于变量名。

在您的具体示例中,我将使用标识符 invert 作为反转排列的方法,并使用 inverse 作为 returns 逆排列。