Конечные подчеркивания - плохая идея, потому что такие вещи, как x_+
, сами по себе являются допустимыми именами переменных.Ни в коем случае не используйте конечные подчеркивания.
Ведущие подчеркивания - не самая плохая идея, но визуально разобрать такие вещи, как _myfunc _
, все равно сложно.Существует соглашение о том, что закрытые члены, содержащие аргументы конструктора с одинаковыми именами, начинаются с _
: class X(x: Int) { private var _x = x }
.Моя рекомендация не делай этого .Вы просите путаницы.Используйте myX
или theX
или xLocal
или xi
или что-то для внутренней переменной.Тем не менее, если вы делаете с _x
, у вас будет хорошая компания;люди будут склонны понимать, что вы имеете в виду.
Подчеркивания в имени не используются широко, так как случай с верблюдом является стандартом.Исключение, которое я делаю, состоит в том, что я использую подчеркивания в неявных определениях, которые не должны использоваться вручную, и вместо этого указываю, почему происходит преобразование: tuple2_can_expand
может добавить метод expand
для преобразования Tuple2
вTuple3
, например.