Здравствуйте, Kolesiki, Вы писали:
K>И "заимствование кода" (особенно из ЧАСТИЧНЫХ конструкций) — попробуй скопипасти пару кусков из браузера — сдохнешь восстанавливавши!
Хм! А ведь неплохая фича, на самом деле!
Здравствуйте, netch80, Вы писали:
N>(Кстати, ты явно уснул не раньше. Потому что есть классический Fortran.)
А что не так с классическим Fortran? У него вообще фиксированный формат был. ЕМНИП, 5 позиций для метки, 6-я — символ продолжения, с 7-й по 72-ю — текст. Сейчас сделали свободный формат, я его читать не могу.
Здравствуйте, Privalov, Вы писали:
N>>(Кстати, ты явно уснул не раньше. Потому что есть классический Fortran.)
P>А что не так с классическим Fortran? У него вообще фиксированный формат был. ЕМНИП, 5 позиций для метки, 6-я — символ продолжения, с 7-й по 72-ю — текст. Сейчас сделали свободный формат, я его читать не могу.
Ну недопиши пару пробелов в начале, будет интересный эффект
Здравствуйте, elmal, Вы писали:
E>И это, блин, супер. В результате в коде будет хотя бы нормальное форматирование гарантировано. А то в свое время был охрененный скандал, когда я взял, и отформатировал проект, в котором форматирования не было вообще. Вернее оно было, но неправильное. Что то вроде:
elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F
А в питоне, я так понимаю, какой отступ ты сделал в такой блок код и попал. От этого зависит логика.
Здравствуйте, кубик, Вы писали:
К>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F
Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.
Здравствуйте, elmal, Вы писали:
E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли. Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.
Потому что стиль кодирования устанавливается для всей команды.
Это вопрос договоренностей и компромисов.
Здравствуйте, 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" — ему одинаково). Линтеры и форматтеры можно обучить контролю и исправлению, но это таки за пределами требований языка, а анноить они могут не меньше.
Здравствуйте, netch80, Вы писали:
N>Ну недопиши пару пробелов в начале, будет интересный эффект
Этим нас не напугаешь. Мы в свое время учили, как не надо писать на Фортране. Поэтому позиции отсчитывали на автомате. Позже я вообще пробелы начал вставлять везде, где они, по идее, не нужны. Например, в конструкции IF (A .EQ. B) GO TO 10 большую часть пробелов (если не вообще все, не помню) можно убрать. Я, скорее, со свободным форматом накосячу. Никогда его не использовал.
Здравствуйте, elmal, Вы писали:
К>>elmal, этот беспорядок легко отформатировать. Например в студии выделил и Ctrk-K, Ctrl-F E>Легко, но когда я один раз так сделал, скандал был неимоверный и было требование вернуть все как было, мы так привыкли.
И при чем тут язык? Идиоты и на Петоне могут наворотить такого, что мало не покажется.
E>Вот чтоб не привыкали жить в дерьме, было б неплохо не давать разводить явное дерьмо на ровном месте физически.
VB (старый, додотнетный) — твой идеал, там даже редактор не даст с отступами накосячить.
Здравствуйте, Homunculus, Вы писали:
Pzz>>qнεиж ʎmɐн ʚ ʁиεɐdƍоонεɐd ɯǝʁvʚɐƍоɓ ǝpoɔıun и ɐɓ H>Это фраза, читаемая на телефоне и нечитаемая (ну, или с некоторыми проблемами) на мониторе
Здравствуйте, кубик, Вы писали:
К>Друзья, К>Вы наверно слышите кругом всё говорят Питоон Питооон. К>А вы знаете что если там какие то табы с пробелами не выровнены, но питон скрипт не запустится вообще? К>Погуглите ошибку "TabError: inconsistent use of tabs and spaces in indentation" К>Это аструеть ...
Ваааще! Спасибо, что предупредил! Аж пот холодный прошиб...
Здравствуйте, 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>