Re[2]: Питон и выравнивание...
От: Cyberax Марс  
Дата: 20.11.20 20:23
Оценка: +1
Здравствуйте, Kolesiki, Вы писали:

K>И "заимствование кода" (особенно из ЧАСТИЧНЫХ конструкций) — попробуй скопипасти пару кусков из браузера — сдохнешь восстанавливавши!

Хм! А ведь неплохая фича, на самом деле!
Sapienti sat!
Re[2]: Питон и выравнивание...
От: Privalov  
Дата: 20.11.20 20:46
Оценка:
Здравствуйте, netch80, Вы писали:

N>(Кстати, ты явно уснул не раньше. Потому что есть классический Fortran.)


А что не так с классическим Fortran? У него вообще фиксированный формат был. ЕМНИП, 5 позиций для метки, 6-я — символ продолжения, с 7-й по 72-ю — текст. Сейчас сделали свободный формат, я его читать не могу.
Re[3]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.11.20 20:51
Оценка:
Здравствуйте, Privalov, Вы писали:

N>>(Кстати, ты явно уснул не раньше. Потому что есть классический Fortran.)


P>А что не так с классическим Fortran? У него вообще фиксированный формат был. ЕМНИП, 5 позиций для метки, 6-я — символ продолжения, с 7-й по 72-ю — текст. Сейчас сделали свободный формат, я его читать не могу.


Ну недопиши пару пробелов в начале, будет интересный эффект
The God is real, unless declared integer.
Re[2]: Питон и выравнивание...
От: кубик  
Дата: 21.11.20 01:14
Оценка:
Здравствуйте, elmal, Вы писали:

E>И это, блин, супер. В результате в коде будет хотя бы нормальное форматирование гарантировано. А то в свое время был охрененный скандал, когда я взял, и отформатировал проект, в котором форматирования не было вообще. Вернее оно было, но неправильное. Что то вроде:


elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F
А в питоне, я так понимаю, какой отступ ты сделал в такой блок код и попал. От этого зависит логика.
Re[3]: Питон и выравнивание...
От: elmal  
Дата: 21.11.20 06:04
Оценка:
Здравствуйте, кубик, Вы писали:

К>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F

Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.
Re[4]: Питон и выравнивание...
От: Буравчик Россия  
Дата: 21.11.20 07:22
Оценка:
Здравствуйте, elmal, Вы писали:

E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.


Потому что стиль кодирования устанавливается для всей команды.
Это вопрос договоренностей и компромисов.

А не "используйте стиль, который мне удобно".
Best regards, Буравчик
Re[4]: Питон и выравнивание...
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.11.20 08:47
Оценка: +2
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, кубик, Вы писали:


К>>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F

E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.

Ты смешиваешь разные вещи: 1) сама необходимость порядка (на разных уровнях), 2) договорённость о нём и 3) согласованность и разрешение усилий по его наведению.

Фактически, насколько можно понять по твоему рассказу, внутренних норм вообще не было. И тут приходишь ты и начинаешь их устанавливать. В истории появляется изменение непонятно зачем... и что?

По-нормальному это делается так:

1. Добивается общего согласия (хотя бы устного) про "так жить нельзя (плохо), надо навести порядок". Сильно может помочь наблюдение ситуации типа — функцию foo() Вася правил и переформатировал под себя, Петя пришёл и переформатировал под себя, Вася снова пришёл и переформатировал обратно — в результате в истории бардак, диффы нечитаемы.
2. Делается прикидка варианта правильного порядка. Лучше на основании какой-то автотулзы — тогда избавление от ручного контроля перевешивает для большинства проблему подчинения того, что им в чём-то не нравится. Обычно, кто опытнее, легче терпит — и больше насмотрелся разного, и понимает цену экономии усилий. Можно обсудить тонкие настройки.
3. Делается проба (лучше в отдельной ветке), всё переформатируется, просматривается результат на предмет явных ляпов. Если нужно, настройки корректируются и проба повторяется.
4. Результат закрепляется административно ("всем прогонять через форматтер") и желательно технически (commit hook + контроль в CI).

причём обычно каждый шаг надо делать в 3-4 захода (на первом тебя только слышат, на втором кто-то задумывается, на третьем реагирует большинство). Хотя, если ты техлид, можешь просто настоять от себя (но лучше тоже плавно).

И:
1. Это касается не только форматирования и отступов: могут быть сотни других особенностей (стиль именования, выделение всяких геттеров, вплоть до архитектурных решений типа кто к кому обращается и как идёт поток данных... только их уже сложно автоматизировать).
2. Дело не в Python, Go или ком ещё: на каждом из них можно натворить тонны безобразий. Python контролирует, чтобы во всём блоке была одинаковая последовательность пробелов и табуляций в качестве отступов (Py3 — жёстко, Py2 — чуть свободнее), но, например, ему плевать на собственно количество отступов на блок (1, 2, 7, 19 — пофиг), на длину отступа на каждом явном продолжении строки (лишь бы не меньше начала строки), на пробелы потом ("a,b", "a, b", "a, b" — ему одинаково). Линтеры и форматтеры можно обучить контролю и исправлению, но это таки за пределами требований языка, а анноить они могут не меньше.
The God is real, unless declared integer.
Re[4]: Питон и выравнивание...
От: Privalov  
Дата: 21.11.20 09:53
Оценка:
Здравствуйте, netch80, Вы писали:

N>Ну недопиши пару пробелов в начале, будет интересный эффект


Этим нас не напугаешь. Мы в свое время учили, как не надо писать на Фортране. Поэтому позиции отсчитывали на автомате. Позже я вообще пробелы начал вставлять везде, где они, по идее, не нужны. Например, в конструкции IF (A .EQ. B) GO TO 10 большую часть пробелов (если не вообще все, не помню) можно убрать. Я, скорее, со свободным форматом накосячу. Никогда его не использовал.
Re[4]: Питон и выравнивание...
От: Ночной Смотрящий Россия  
Дата: 21.11.20 14:36
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Из широко распространенных кроме питона даже не припомню еще.


Ямль, будь он неладен и море всякой фигни на его базе.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Питон и выравнивание...
От: Ночной Смотрящий Россия  
Дата: 21.11.20 14:36
Оценка:
Здравствуйте, elmal, Вы писали:

К>>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F

E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли.

И при чем тут язык? Идиоты и на Петоне могут наворотить такого, что мало не покажется.

E>Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.


VB (старый, додотнетный) — твой идеал, там даже редактор не даст с отступами накосячить.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Питон и выравнивание...
От: Sheridan Россия  
Дата: 07.12.20 04:41
Оценка:
Здравствуйте, Homunculus, Вы писали:

Pzz>>qнεиж ʎmɐн ʚ ʁиεɐdƍоонεɐd ɯǝʁvʚɐƍоɓ ǝpoɔıun и ɐɓ

H>Это фраза, читаемая на телефоне и нечитаемая (ну, или с некоторыми проблемами) на мониторе

¿ɯɔʞǝɯ ņоʞɐɯ qɯɐɯиҺоdu ɐwǝvƍоdu wǝҺ ʚ ɐ
Matrix has you...
Re: Питон и выравнивание...
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 07.12.20 09:07
Оценка:
Здравствуйте, кубик, Вы писали:

К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?


Конечно.
Сейчас пытаюсь вспомнить, в каком году я последний раз вообще вживую видел "табы".
С уважением, Artem Korneev.
Re: Питон и выравнивание...
От: Vladek Россия Github
Дата: 09.12.20 12:58
Оценка:
Здравствуйте, кубик, Вы писали:

К>Друзья,

К>Вы наверно слышите кругом всё говорят Питоон Питооон.
К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?
К>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation"
К>Это аструеть ...

Ваааще! Спасибо, что предупредил! Аж пот холодный прошиб...
Re[2]: Питон и выравнивание...
От: Тёмчик Австралия жж
Дата: 09.12.20 21:11
Оценка:
Здравствуйте, elmal, Вы писали:

К>>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще?

E>И это, блин, супер. В результате в коде будет хотя бы нормальное форматирование гарантировано. А то в свое время был охрененный скандал, когда я взял, и отформатировал проект, в котором форматирования не было вообще. Вернее оно было, но неправильное. Что то вроде:
E>
E>                                      for (i in 1..10)
E>       {
E>                    if (a>5)
E>       {
E>    printf("h")
E>            printf("e")
E>       printf("l")
E>printf("l")
E>             printf("o")
E>            }
E>              }
E>


Можно настроить lint.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.