Соглашение об именовании последовательностей Python

StackOverflow https://stackoverflow.com/questions/659415

Вопрос

Поскольку в 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?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top