Здравствуйте, Don Reba, Вы писали:
Q>>То есть ты считаешь нормальным навязывать всему миру установку каких-то сторонних экстеншнов под разные браузеры (а что насчёт Edge и Firefox?), а если кто не хочет, «то ссзс, предлагаю еще и цвет текста сделать белым по белому.» DR>Просто представь, что автор напечатал восемь пробелов, и не надо ничего настраивать.
Здравствуйте, mDmitriy, Вы писали:
D>например, просмотр в редакторе с табом по умолчанию 8 не гарантирует несъезжание за пределы экрана
Это не съезжание форматирования. Это несоответствие максимальной длины строки кода размеру окна редактора. Если тебе критичен просмотр с таким размером таба в маленьком окне, то разбивай код на более короткие строки.
Здравствуйте, Qbit86, Вы писали:
Q>И кому это нужно?
Автору кода или другим пользователям редактора. Ты же сам ратуешь за отсутствие возможности подстроить под себя. Не устанавливай никаких расширений, не настраивай редакторы, просто смотри, как за тебя решили.
Здравствуйте, netch80, Вы писали:
N>Реально на сейчас табуляция в коде просто вредна — экономия ничтожна, а проблемы из-за разной ширины значительно существеннее.
Кому вредна? Мне она очень удобна. Никаких проблем нет, если код не начинают править любители замены табов на пробелы.
Вот тогда начинается геморрой с переформатированием, ибо у одного стоит таб = 4 пробела, у другого 2, etc.
Здравствуйте, Qbit86, Вы писали:
Q>>>И кому это нужно? DR>>Автору кода или другим пользователям редактора. Q>Может, автору кода удобно вообще в одну строку писать. Ну а что, настройте под себя расширение браузера для автоформатирования.
Это не аргумент — в этом случае не помогут ни табы ни пробелы.
Здравствуйте, seregaa, Вы писали:
S>в этом случае не помогут ни табы ни пробелы.
Зато поможет экстеншн для форматирования! Зачем кому-то навязывать стиль переноса фигурных скобок или аргументов функции? Пусть каждый сам настроит инструмент под себя.
Здравствуйте, Qbit86, Вы писали:
Q>Microsoft, Google и PEP единодушны в этом вопросе: табуляцию использовать не нужно.
И что? Это их внутренние стандарты, которые редко меняют из-за бюрократии и того, что уже тонны кода в таком формате написаны.
Раньше, вот, венгерку было принято использовать, но, к счастью, сейчас эту жесть уже мало где встретишь, кроме легаси-кода.
Я много использовал пробелы там, где это было оговорено внутренним стандартом, но, при наличии выбора, предпочитаю табы.
Здравствуйте, Lexey, Вы писали:
Q>>Microsoft, Google и PEP единодушны в этом вопросе: табуляцию использовать не нужно. L>И что? Это их внутренние стандарты, которые редко меняют из-за бюрократии и того, что уже тонны кода в таком формате написаны.
Нет. В этих рекомендациях обычно сказано, что хотя в старом коде при небольших изменениях приоритет у текущего стиля (консистентность внутри файла), но в новом нужно использовать уже современные гайдлайны.
L>Я много использовал пробелы там, где это было оговорено внутренним стандартом, но, при наличии выбора, предпочитаю табы.
Да я понял уже: несовместимые с оющепринятыми самопальные соглашения и прочий дельфи-стайл лучше рекомендаций от авторов платформы.
Здравствуйте, Qbit86, Вы писали:
Q>Прекрасная ссылка; по ней говорится: «Upon closer examination of the data, a trend emerges: Developers increasingly prefer spaces as they gain experience. Stack Overflow reputation correlates with a preference for spaces, too: users who have 10,000 rep or more prefer spaces to tabs at a ratio of 3 to 1.»
Кстати, что характерно, сразу после того, как пробельщики побеждают табберов, начинается война о количестве пробелов. Я видел 1, 2, 3, 4, 5, 8 штук. С четырмя пробелами соглашаются далеко не все.
Иметь ширину 4 пробела в глубоковложенных форматах типа html или xml — многовато, желательно один или два.
А в форматах с небольшой вложенностью, css или sql, например, можно и 8 поставить.
А ещё табы удобнее тем, что их можно настраивать. Скажем, когда редактируешь — удобно поставить ширину 8, а когда делаешь трёхколоночный merge, то ужимаешь до двух или даже до одного.
Насчёт браузеров — ширина табов тоже меняется, через css или адд-оны.
ЗЫЖ Если тебе лень искать как настроить в некой тулзе ширину табов, считай что код написан восьмипробельщиком.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>С четырмя пробелами соглашаются далеко не все.
Четыре пробела общеприняты для C#, это соответствует официальным рекомендациям и для совместимости с другими разработчиками имеет смысл придерживаться этого соглашения. Для других языков могут быть другие соглашения, там лучше придерживаться их. Все табберы, которы я встречал, используют эту ширину для отображения.
·>Иметь ширину 4 пробела в глубоковложенных форматах типа html или xml — многовато, желательно один или два.
Прекрасно, когда XML свёрстан в два прообела, ты увидишь именно их, никаких проблем. А если он свёрстан с табами, то в нотпаде ты увидишь то, как настроена табуляция была в последний раз. В IDE ещё можно настраивать ширины табов по-разному для разных типов файлов. А во многих других просмотрщиках текста — нельзя. XML с отступами шириной 8 символов, Карл!
·>сразу после того, как пробельщики побеждают табберов
Ещё раз: использование табов объективно вызывает у людей проблемы, с просмотром и редактированием. На что табберы говорят: ваши проблемы, ставьте себе аддоны и не используйте богомерзкую Unity 3D. Да, для нас это становится проблемой. «Считай что код написан восьмипробельщиком» — спасибо за заботу о читателе, бро!
Здравствуйте, Qbit86, Вы писали:
Q>Да я понял уже: несовместимые с оющепринятыми самопальные соглашения и прочий дельфи-стайл лучше рекомендаций от авторов платформы.
На общепринятые они никак не тянут (судя по той статистике, которую в теме приводили). В чем заключается дельфи-стайл, понятия не имею.
Здравствуйте, Qbit86, Вы писали:
Q>Четыре пробела общеприняты для C#, это соответствует официальным рекомендациям и для совместимости с другими разработчиками имеет смысл придерживаться этого соглашения. Для других языков могут быть другие соглашения, там лучше придерживаться их. Все табберы, которы я встречал, используют эту ширину для отображения.
Сишарпом вселенная не ограничивается.
Q>·>Иметь ширину 4 пробела в глубоковложенных форматах типа html или xml — многовато, желательно один или два. Q>Прекрасно, когда XML свёрстан в два прообела, ты увидишь именно их, никаких проблем.
Почему ты выбираешь только удобные тебе ситуации? Представь, что XML свёрстан с восемью пробелами.
Q>А если он свёрстан с табами, то в нотпаде ты увидишь то, как настроена табуляция была в последний раз. В IDE ещё можно настраивать ширины табов по-разному для разных типов файлов. А во многих других просмотрщиках текста — нельзя. XML с отступами шириной 8 символов, Карл!
Поставь свои любимые четыре в этих многих. И нет проблемы, будешь везде видеть свои любимые четыре пробела.
Q>·>сразу после того, как пробельщики побеждают табберов Q>Ещё раз: использование табов объективно вызывает у людей проблемы, с просмотром и редактированием. На что табберы говорят: ваши проблемы, ставьте себе аддоны и не используйте богомерзкую Unity 3D. Да, для нас это становится проблемой. «Считай что код написан восьмипробельщиком» — спасибо за заботу о читателе, бро!
У меня вызывает проблемы мерж html с четырмя пробелами, хочу видеть один пробел. И эта проблема _вообще никак_ не решается, даже в супернавороченных IDE.
Если стандартная ширина таба 8 вызывает трудности — две минуты гугленья проблему решают практически всегда. Что такое Unity 3D я не знаю, но вот вроде тоже что-то есть: http://docs.unity3d.com/ScriptReference/GUIText-tabSize.html
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
·>Сишарпом вселенная не ограничивается.
Я приводил ссылки также на некоторые гайды по стилю C++ и Питон. Конечно, они расходятся во многих аспектах с рекомендациями для C#, единогласия нет. Только в отношении неиспользования табов они единодушны, это о чём-то говорит.
·>Почему ты выбираешь только удобные тебе ситуации? Представь, что XML свёрстан с восемью пробелами.
Потому что исхожу из своего опыта, в котором количество встреченных XML-документов, свёрстанных с 8 пробелами, равно нулю.
·>Поставь свои любимые четыре в этих многих.
Не любой софт позволяет настраивать ширину отображаемой табуляции.
·>И нет проблемы, будешь везде видеть свои любимые четыре пробела.
Здравствуйте, Qbit86, Вы писали:
Q>·>Сишарпом вселенная не ограничивается. Q>Я приводил ссылки также на некоторые гайды по стилю C++ и Питон. Конечно, они расходятся во многих аспектах с рекомендациями для C#, единогласия нет. Только в отношении неиспользования табов они единодушны, это о чём-то говорит.
Это говорит лишь о том, что ты аккуратно подбираешь удобные и отбрасываешь неудобные факты для доказательства своей т.з.
Вот, скажем https://www.kernel.org/doc/Documentation/CodingStyle — ширина 8 символов.
Q>·>Почему ты выбираешь только удобные тебе ситуации? Представь, что XML свёрстан с восемью пробелами. Q>Потому что исхожу из своего опыта, в котором количество встреченных XML-документов, свёрстанных с 8 пробелами, равно нулю.
Т.е. опять confirmation bias вместо разумных доводов.
Q>·>Поставь свои любимые четыре в этих многих. Q>Не любой софт позволяет настраивать ширину отображаемой табуляции.
Можно примеры? Особенно интересно услышать в свете confirmation bias — чем ты регулярно пользуешься лично что не позволяет настраивать размеры табов?
Q>·>И нет проблемы, будешь везде видеть свои любимые четыре пробела. Q>Я не хочу везде видеть четыре пробела. В XML иногда удобно два, в C# всегда четыре.
Не понял, это вообще-то говорит в пользу табов. Это именно табы позволят видеть столько пробелов сколько хочешь, пробелы — нет. Со сколькими пробелами XML набран — со столькими ты и будешь видеть. Если человек набирал XML на 26" мониторе с четырмя пробелами, а тебе с этим же кодом надо повозиться на 13" ноуте — что делать?
Q>·>Что такое Unity 3D я не знаю, но вот вроде тоже что-то есть: http://docs.unity3d.com/ScriptReference/GUIText-tabSize.html Q>Это не о том вообще.
А о чём? Можно ссылку о том, что в некой Unity 3D невозможно поменять размер таба?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ·, Вы писали:
Q>>Я приводил ссылки также на некоторые гайды по стилю C++ и Питон. Конечно, они расходятся во многих аспектах с рекомендациями для C#, единогласия нет. Только в отношении неиспользования табов они единодушны, это о чём-то говорит. ·>Вот, скажем https://www.kernel.org/doc/Documentation/CodingStyle — ширина 8 символов.
«Addison-Wesley, Inc., 1999.» Подождите, а кто там наверху говорил про легаси? Что-нибудь из нашего века есть?
Q>>Потому что исхожу из своего опыта, в котором количество встреченных XML-документов, свёрстанных с 8 пробелами, равно нулю. ·>Т.е. опять confirmation bias вместо разумных доводов.
Остаётся только предоставить читателям самим судить насчёт разумности доводов про теоретический 8-пробельный XML.
·>Можно примеры? Особенно интересно услышать в свете confirmation bias — чем ты регулярно пользуешься лично что не позволяет настраивать размеры табов?
Unity 3D, Total Commander (просмотр по F3), Google Chrome. Про GitHub выше привели хак, но ещё есть Bitbucket и просто бложеки, где приводят код в <pre>.
Q>>Я не хочу везде видеть четыре пробела. В XML иногда удобно два, в C# всегда четыре. ·>Не понял, это вообще-то говорит в пользу табов.
Подождите, вы же говорили, что достаточно всего один раз настроить инструментарий под себя?
·>Со сколькими пробелами XML набран — со столькими ты и будешь видеть. Если человек набирал XML на 26" мониторе с четырмя пробелами, а тебе с этим же кодом надо повозиться на 13" ноуте — что делать?
Если исключить случай злонамеренности автора, то проблем с пробелами никогда не возникает. Даже при разных соглашениях, будь то XAML, или AndroidManifest.xml, или другие конфиги; часть из них удобнее с нормальными отступами, часть с компактными.
·>А о чём? Можно ссылку о том, что в некой Unity 3D невозможно поменять размер таба?
Unity 3D — это инструментарий для кроссплатформенной разработки игр; в его редакторе есть окошко Инспектора (обычно небольшое), которое показывает содержимое разных ассетов (модельки, текстурки, скрипты, etc). Он показывает текст как есть, без вычурных настроек; длинный текст обрывает и переносит. При использовании табов получается таже не куча пустого места, а просто месиво разорванных строк.
А теперь представь другую вселенную: табы запрещены, или их вообще не существовало, и кнопки такой нет. Будут ли проблемы — по-моему да. Как минимум будут войны на тему сколько пробелов должно быть в отступах — 2, 4 или 8 или 13. Притом, даже если законодательно закрепят какое-то число, например 4, то возникнет вопрос — а почему бы не заменить стандартные четыре символа на специальный символ со специальным кодом, и кнопку бы неплохо добавить... ведь нажимать четырежды сложнее? Придётся комбинацию клавиш добавлять или специальную кнопку в клавиатуры, текстовые редакторы должны будут поддерживать вставку/удаление четырех пробелов.
Q>·>Можно примеры? Особенно интересно услышать в свете confirmation bias — чем ты регулярно пользуешься лично что не позволяет настраивать размеры табов? Q>Unity 3D,
Ок, никогда это не видел, но можно поверить, что одна такая прога есть. Патч уже постили? Разрабы наотрез отказались мержить?
Q>Total Commander (просмотр по F3),
"Tab width may be specified by parameter TabWidth in section [Lister] of wincmd.ini file." Или оно не работает?
Q>Google Chrome. Про GitHub выше привели хак, но ещё есть Bitbucket и просто бложеки, где приводят код в <pre>.
С бразуерами всё просто: http://stackoverflow.com/questions/6686763/setting-pre-tab-width-in-different-web-browsers
Как сделать user style css думаю сам разберёшься.
Q>>>Я не хочу везде видеть четыре пробела. В XML иногда удобно два, в C# всегда четыре. Q>·>Не понял, это вообще-то говорит в пользу табов. Q>Подождите, вы же говорили, что достаточно всего один раз настроить инструментарий под себя?
Каждый настраивает под себя как и где ему удобно. Проблема с пробелами возникает когда разные люди с разными настройками начинают работать над одними и теми же файлами. С табами проблем нет, т.к. они учитывают "настойки под себя".
Q>·>Со сколькими пробелами XML набран — со столькими ты и будешь видеть. Если человек набирал XML на 26" мониторе с четырмя пробелами, а тебе с этим же кодом надо повозиться на 13" ноуте — что делать? Q>Если исключить случай злонамеренности автора, то проблем с пробелами никогда не возникает. Даже при разных соглашениях, будь то XAML, или AndroidManifest.xml, или другие конфиги; часть из них удобнее с нормальными отступами, часть с компактными.
И кто как договаривается какие в данном файле в данном проекте отступы делать?
Q>·>А о чём? Можно ссылку о том, что в некой Unity 3D невозможно поменять размер таба? Q>Unity 3D — это инструментарий для кроссплатформенной разработки игр; в его редакторе есть окошко Инспектора (обычно небольшое), которое показывает содержимое разных ассетов (модельки, текстурки, скрипты, etc). Он показывает текст как есть, без вычурных настроек; длинный текст обрывает и переносит. При использовании табов получается таже не куча пустого места, а просто месиво разорванных строк.
А при использовании восьми пробелов что происходит?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Don Reba, Вы писали: DR>Просто представь, что автор напечатал восемь пробелов, и не надо ничего настраивать.
от таких авторов умные люди и изобрели автоформаттеры...
Здравствуйте, Lexey, Вы писали: L>Это не съезжание форматирования. Это несоответствие максимальной длины строки кода размеру окна редактора. Если тебе критичен просмотр с таким размером таба в маленьком окне, то разбивай код на более короткие строки.
ну, может вам и нравится подстраивать свой код под сторонних табуляторщиков... мне вот нет