通常,当语言的语法要求我命名一个从未使用过的变量时,我将其命名为_
。
在我看来,这减少了混乱,让我专注于代码中有意义的变量。我发现它不引人注目,因此可以产生“视线之外,头脑混乱”的效果。
我执行此操作的一个常见示例是在SQL中命名子查询。
SELECT *
FROM
(
SELECT *
FROM TableA
JOIN TableB
ON TableA.ColumnB = TableB.ColumnB
WHERE [ColumnA] > 10
) _ --This name is required, but never used here
ORDER BY ColumnC
另一个示例是未使用的循环变量。
array = [[] for _ in range(n)] # Defines a list of n empty lists in Python
仅当我觉得描述性名称未对代码添加任何内容,并且在某种意义上通过添加更多要记住的名称来消除它时,我才非常谨慎地使用该技术。在某些方面,我认为它类似于var
C#中的关键字,我也很少使用它。
我的同事不同意。他们说,即使只有一个(字母)字符名称也比更好_
。
我错了吗?这样做是不好的做法吗?
[table].[column]
标识符,因此使用会大大提高可读性[T].[column]
。这当然取决于脚本。这样的选择非常好,但是如果脚本很大,我可能会使用更具描述性的名称。