方法的命名约定是否更改 object 或 return 已更改 object
Naming convention for methods whether they change an object or return changed object
如标题所说,有没有那种命名规范,尤其是python?
例如pythonsorted
中有函数(returns改变了object但没有改变object的函数)和list
或 numpy.ndarray
方法 sort
(returns 没什么,但改变了 object)。
但对于 reversed
和 list.reverse
函数,情况并非如此,reversed
returns 迭代器。
在我的例子中,我有排列 class,我想为这两种情况添加 inverse
函数。我应该将它们命名为 inverted
和 inverse
(最后一个将在 class 之外)还是分别命名为 get_inv
和 set_inv
,因为这些方法就像 getter和设置器(对于 sorted
和 sort
也是如此)?
这是我的约定,它在我使用过的所有编程语言中都很有用:
- 一个没有side-effects的函数returns一个真值应该以属性 它查询并使用 形容词 作为最后一个词,例如排序或items_sorted.
- 一个 没有 side-effects 的函数应该命名为 returns 一个 non-truth 值 在结果之后 returns 并使用 名词 作为最后一个词,例如sorted_items.
- 具有side-effects 的函数 应根据其作用命名,并使用动词 作为第一个词,例如排序或sort_items.
规则 1 和 2 也适用于变量名。
在您的具体示例中,我将使用标识符 invert 作为反转排列的方法,并使用 inverse 作为 returns 逆排列。
如标题所说,有没有那种命名规范,尤其是python?
例如pythonsorted
中有函数(returns改变了object但没有改变object的函数)和list
或 numpy.ndarray
方法 sort
(returns 没什么,但改变了 object)。
但对于 reversed
和 list.reverse
函数,情况并非如此,reversed
returns 迭代器。
在我的例子中,我有排列 class,我想为这两种情况添加 inverse
函数。我应该将它们命名为 inverted
和 inverse
(最后一个将在 class 之外)还是分别命名为 get_inv
和 set_inv
,因为这些方法就像 getter和设置器(对于 sorted
和 sort
也是如此)?
这是我的约定,它在我使用过的所有编程语言中都很有用:
- 一个没有side-effects的函数returns一个真值应该以属性 它查询并使用 形容词 作为最后一个词,例如排序或items_sorted.
- 一个 没有 side-effects 的函数应该命名为 returns 一个 non-truth 值 在结果之后 returns 并使用 名词 作为最后一个词,例如sorted_items.
- 具有side-effects 的函数 应根据其作用命名,并使用动词 作为第一个词,例如排序或sort_items.
规则 1 和 2 也适用于变量名。
在您的具体示例中,我将使用标识符 invert 作为反转排列的方法,并使用 inverse 作为 returns 逆排列。