Рекомендації щодо неявного проти явного з'єднання рядків


9

Я хотів би знати рекомендації щодо приєднання непрямих ліній та проти явних лінійних з'єднань у Python.

Зокрема, ви віддаєте перевагу одній формі над іншою? Що ви рекомендуєте як загальний стандарт? Які критерії у вас є для вибору одного над іншим, і якщо у вас є перевага одного, коли ви робите винятки для іншого?

Я маю на увазі відповідь на це запитання, яке відображає мої власні упередження, але перш ніж опублікувати власну відповідь, я хотів би знати, що думають інші ... і якщо ви можете мати кращий набір критеріїв, ніж те, що я маю на увазі, то я, безумовно, прийму вашу відповідь над своєю власною.

Деякі рекомендації можуть бути узагальнені до цього вибору в інших мовах програмування, але мій власний ухил у Python дещо сильніший через деякі особливості мови, тому я хотів би знати як загальні, так і орієнтовані на Python міркування. на цю тему.

З певного передумови дискусія сталася навколо певного питання про stackoverflow , але я вважав, що більш доречно перенести дискусію сюди як на питання, щоб уникнути захаращення відповіді на SO цією дотичною, оскільки вона відхилилася від теми, що перебуває поза темою оригінальне запитання. Ви можете подивитися на це питання та його відповіді на прикладі фрагментів коду, які розпочали дискусію.

Ось спрощений приклад:

join_type = "explicit"
a = "%s line joining" \
    % (join_type)
# versus
join_type = "implicit"
b = ("%s line joining"
     % (join_type))

Питання найкращої практики - це поза темою для огляду коду. Я перенесла ваше питання на кращу організацію.
Вінстон Еверт

1
@WinstonEwert перед публікацією я добре ознайомився з питаннями поширених запитань CodeReview та поширеними запитаннями програмістів , і вибрав CodeReview, оскільки в ньому прямо написано, що типи питань, які слід задати, включають "Найкращі практики та використання шаблону дизайну у вашому коді". Я включив спрощену версію коду, про який йдеться, тож як це поза темою?
aculich

@WinstonEwert Я розмістив запитання в Meta щодо роз'яснення поширених запитань CodeReview, якщо ви хочете прокоментувати це там.
aculich

Відповіді:


8

Існує документ у стилі кодування під назвою PEP8. Він рекомендує не використовувати те, \<NL>де можна використовувати дужки.

Кращим способом загортання довгих рядків є використання мається на увазі продовження Python у дужках, дужках та дужках. Довгі рядки можна розбити на кілька рядків, загортаючи вирази в дужки. Їх слід використовувати на користь використання зворотної косої риски для продовження рядка. Не забудьте відповідним чином відступити продовжений рядок. Краще місце для обходу навколо двійкового оператора - після оператора, а не перед ним.

Повний текст: http://www.python.org/dev/peps/pep-0008/ (макет коду розділу)

Це не є обов'язковим, але він визначає прийнятні добрі практики, які особливо корисні, якщо у вашій команді є кілька комітетів Python.


1

Я схильний використовувати неявні рядки приєднання, тому що я вважаю, що це читабельніше, а підтримка редакторів, як правило, краща щодо відступів та виділення всього виразу завдяки збігу дужок.


0

В даний час я вважаю за краще

join_type = "kiding"
a = "%s line joining" % (join_type)

Б-))

.

Я, як правило, віддаю перевагу явним лініям приєднання, тому що мені не подобається захаращення парен у кінці виразів.
Але мені подобається Implicit Lines Join, щоб зменшити ширину, зайняту написанням рядка.
Тоді в деяких випадках мені неприємно не змішувати два способи


1
Я все жартую вбік, мені не подобається явного приєднання, тому що це вимагає більше набору тексту і важко тримати всі штрихи чітко вишикуваними під час редагування коду.
мартіно

мабуть, @eyquem ніколи не писав жодного LISP ...
cowbert
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.