Соглашение об именах последовательностей Python - PullRequest
3 голосов
/ 18 марта 2009

Поскольку в python нет явной типизации, я хочу иметь возможность различать последовательности и непоследовательности, используя соглашение об именах. Я некоторое время программировал на python, и я до сих пор не нашел никакого логического / практического способа именования последовательностей. Конечно, я прошел через знаменитую PEP8 и провел некоторое исследование в Google, и кажется, что принятым соглашением является добавление буквы «s» в конце имени переменной.

Давайте предположим, что у нас есть последовательность «значений веса», поэтому имя переменной для последовательности должно быть весов . Пока это нормально, но будут случаи, когда какое-то слово оканчивается на «s» и оказывается более логичным способом назвать переменную, которая не является последовательностью. Или, скажем, у вас есть последовательности самих весов, хранящиеся в последовательности. Соглашение об именовании "s" назовет переменную weightss , что ужасно. Я уверен, что для последовательностей будет лучше соглашение об именах.

Какое соглашение по именованию для последовательностей вы бы посоветовали?

Ответы [ 4 ]

20 голосов
/ 18 марта 2009

В общем, избегайте такого поведения. Уведомление от PEP8

Глупая последовательность - это хобгоблин маленьких умов

Это именно то, что будет делать вызов переменной weightss. В общем, ваши переменные описывают, каковы они, а не в соответствии с некоторыми соглашениями об именах:

weights = [44, 66, 88]
weight_groups = [[44, 66, 88], ...]

и т.д.

Из того же раздела PEP8 :

Но самое главное: знать, когда быть противоречивый - иногда стиль Гид просто не применяется. Когда в сомневаюсь, используйте свое лучшее суждение. Посмотрите на других примерах и решить, что выглядит лучше. И не стесняйтесь спрашивайте!

10 голосов
/ 18 марта 2009

Соглашение об именовании "s" назовет переменные weightss, что ужасно. Я уверен, что для последовательностей будет лучше соглашение об именах.

Я думаю, что конвенция, которую вы описываете, должна интерпретироваться как «всякий раз, когда у вас есть список чего-либо, проясните, что это список путем его множественного числа». Например, если у вас есть список экземпляров травы, вы бы назвали это grasses, а не grasss. Я не думаю, что это должно быть воспринято буквально так же, как вы.

PEP всегда советует вам использовать свой собственный подход, если он более читабелен и полезен. Как отметил Али , одним из руководящих принципов PEP является то, что вы не должны становиться жертвой глупой последовательности.

0 голосов
/ 18 марта 2009

Почему не просто thing_list или thing_seq?

0 голосов
/ 18 марта 2009

Чего желает твое маленькое сердце ...

Шучу, но я бы не стал зацикливаться на этом. Если это некрасиво, сделайте что-нибудь, чтобы сделать его более читабельным, например seq_weight и seq_weights

...