Соглашение об именовании последовательностей Python
-
20-08-2019 - |
Вопрос
Поскольку в python нет явной типизации, я хочу иметь возможность проводить различие между последовательностями и непоследовательностями, используя соглашение об именовании.Я уже некоторое время программирую на python, и я до сих пор не нашел никакого логичного / практического способа именования последовательностей.Конечно, я прошел через знаменитые PEP8, и провел некоторое исследование в Google, и, похоже, общепринятым соглашением является добавление буквы "s" в конце имени переменной.
Давайте предположим, что у нас есть последовательность "весовых значений", поэтому имя переменной для последовательности должно быть веса.Пока это нормально, но будут случаи, когда какое-то слово заканчивается на "s" и оказывается более логичным способом присвоения имени переменной, которая не является последовательностью.Или, допустим, у вас есть последовательности весов, сохраненные в виде последовательности.В соответствии с соглашением об именовании "s" переменная будет называться весы, что некрасиво.Я уверен, что существует лучшее соглашение об именовании последовательностей.
Какое соглашение об именовании последовательностей вы бы посоветовали?
Решение
В общем, избегайте подобного поведения.Уведомление от PEP8
Глупая последовательность-это Хобгоблин умишку
это именно то, что вызывает переменную weightss
было бы чем заняться.Таким образом, в целом ваши переменные должны описывать, что они собой представляют, а не в соответствии с каким-либо соглашением об именовании:
weights = [44, 66, 88]
weight_groups = [[44, 66, 88], ...]
и т.д.
Из того же раздела PEP8:
Но самое главное:знайте, когда нужно быть непоследовательным - иногда руководство по стилю просто не применимо.Когда в сомневаетесь, руководствуйтесь здравым смыслом.Посмотрите на другие примеры и решите, какой выглядит лучше всего.И не стесняйтесь спрашивать!
Другие советы
" s " Соглашение об именовании назвало бы переменные веса, что ужасно. Я уверен, что для последовательностей существует лучшее соглашение об именах.
Я думаю, что соглашение, которое вы описываете, должно интерпретироваться как " всякий раз, когда у вас есть список чего-либо, проясните, что это список путем умножения на него " ;. Например, если у вас есть список экземпляров травы, вы бы назвали это grasses
, а не grasss
. Я не думаю, что это должно быть воспринято буквально так же, как вы.
PEP всегда советует вам использовать свой собственный подход, если он более читабелен и полезен. Как Али упомянул , один из руководящих принципов PEP заключается в том, что вы не должны становиться жертвой глупой последовательности.
Все, что желает твое маленькое сердце ....
Шучу, но я бы не стал зацикливаться на этом. Если это некрасиво, сделайте что-нибудь, чтобы сделать его более читабельным, например seq_weight
и seq_weights
Почему не просто thing_list
или thing_seq
?