>>758229 Но табы дают возможность автоматической настройки под себя. Кому 2 пробел-отступа, кому 4. С каким-нибудь astyle хорошо заходит и помогает поддерживать внутренний стандарт форматирования
Не имеет значения, главное не переключаться от одного к другому в пределах проекта. Хотя не представляю, каким нужно быть дегенератом, чтобы индентировать пробелами.
>>758283 Несущественно, что там изначально заменяется, важно, что потом без ебли не изменишь количество пробелов. >>758231 Вот этот правильно говорит. Более подробно: 1. Наши цели: однородность стиля, удобство управления отображением кода. 2. Стиль должен быть характеристикой текста (ибо иначе не будет однородности на уровне файлов), а отображение - характеристикой редактора (ибо код просматривают разные люди в разных условиях). 3. Только табы позволяют без проблем настраивать отображение на уровне редактора. Если отступы пробельные, автор раз и навсегда указывает всем читателям, как они должны отображать код, что уменьшает удобство. 4. Табы облегчают поддержание однородности, ибо всего один вариант отступа, и не нужно дополнительно координировать макак и заставлять их считать количество пробелов. 5. Выравнивание != отступ. Если нужно добиться, например, столбца имен разной длины в один вертикальный ряд, то это выравнивание. При выравнивании важен изначальный замысел относительно конкретной ширины каждого символа, поэтому его следует делать пробелами.
В итоге с табами получается идеально однородный код. Не нужно сраться и вырабатывать дополнительные соглашения о количестве пробелов. В любой момент можно в один клик переключить фактическое отображение под себя, например, 2 пробела при просмотре широкого фрагмента, 8 пробелов при просмотре нетривиального вложенного кода etc. Никакие изменения не повлияют на сами файлы и отображение у других погроммистов. При необходимости можно легко и безопасно заменить все табы в файлах на нужное количество пробелов, перейдя к противоположному подходу.
С пробелами назад на табы переключиться автоматически практически невозможно, т.к. отличие между отступом и выравниванием практически не формализуемо, поэтому придется в случае чего кропотливо заменять вручную каждую строчку. Код будет либо неоднороден (разное число пробелов в разных фрагментах), либо неудобен для чтения (нет универсального числа пробелов, с которым удобно читать любой фрагмент). Легко сделать опечатку и недоставить/поставить лишний пробел, это дополнительно создает проблемы скриптам для автозамены.
Не знаю, как для вас, братцы, а для меня выбор очевиден.
>>758296 Кому должен? Последний критерий всегда - деньги. Стандарт кодирования должен не бездумно добавлять ограничения, а увеличивать эффективность работы. Я не вижу, как универсальное отображение увеличит эффективность, но зато оно вполне так уменьшит, потому что читаемость почти гарантированно местами ухудшится и работа замедлится.
>>758298 С табами нереально форматировать текст так, как ты хочешь. Точнее можно, но нужно выбирать один конкретный tabwidth, и добивать форматирование 1-2 пробелами.
>>758301 >выбирать один конкретный tabwidth, и добивать форматирование 1-2 пробелами Ну, так и делают. Если тебе нужно что-то добить пробелами, то это выравнивание, оно по целям и методам ортогонально отступам. При форматировании тоже действует принцип единственной обязанности, а ты пытаешься все сделать молотком-пробелами.
>>758303 Я не совсем понимаю, что ты подразумеваешь под настройкой. Покажи мне сценарий, в котором по-твоему подходят только пробелы, а я объясню, как сделать это при помощи табов + выравнивания.
>>758303 Потому что тонкая настройка нужна редко, а неудобство увеличивается. Представь, что тебе при вызове gcc каждый раз явно нужно указывать значения всех параметров, даже отсутствующих. Люди специально придумывают дефолтное поведение и увеличивают удобство для него, оставляя возможность дополнительной детализации при необходимости. В плане форматирования табы - дефолтное поведение, а пробелы - тонкая настройка.
>>758291 У меня есть тян. Каждый вечер с ней обсуждаем преимущества пробелов над табами, а потом занимаемся страстными сексом, таким, которым могут заниматься только пробелобоги, а потом находим на гитхабе проект какого-нибудь табоблядка и заменяем там все табы на пробелы и делаем пул реквест, предлагая спасти его душу. >>758293 Нормальные тянки за километр обходят табоопущенцев.
>>758207 (OP) >Вчера спорили с тянкой, что предпочтительнее: табы или пробелы >тянкой >вчера вышла серия Силикон Валей с сюжетом один в один Уебывай, пиздобол ебаный. Сажа.
Непонятно, какой может быть спор, только последняя хуемразь не понимает, что о табах не может быть и речи. Поэтому, другой вопрос к вам, программист_ки: восемь пробелов или четыре?
>>758340 Прошло уже 50 постов, а я еще не увидел ни одного аргумента за пробелы, кроме В КОДСТАЙЛЕ СКАЗАНО, НЕЧА И ДУМАТЬ, ВСЕ ТАК ПИШУТ. Вы, блядь, программисты, а не сектанты, думайте уже своей головой о последствиях своих решений.
>>758383 Шёл мимо, не удержался, кинул тебе за щёчку пару аргументов. Таб - уродливый символ, который по длине равен нескольки обычным, но при этом не может быть разделён пополам... Тьфу, блядь, говно какое-то. То ли дело няшный, красивый пробел. По ширине он равен любому другому символу. Он хорошо вписывается в строку. Для пробела есть специальная очень удобная кнопка на клавиатуре, до неё не надо тянуться левым мизинцем.
>>758410 >который по длине равен нескольки обычным В этом вся суть, обеспечивается гибкость. С тем же успехом можно сказать "CALL - уродливая инструкция, которая неявно вызывает выполнение нескольких обычных". >но при этом не может быть разделён пополам Обеспечивается безопасность. Давай делить обычные символы на четырехбитные куски тоже, заебись будет, в одну hex-цифру будет влезать! >Для пробела есть специальная очень удобная кнопка на клавиатуре Быстрее нажать мизинцем таб, чем пробел четыре раза. И да, это с современными редакторами неактуально, можно забиндить что угодно на что угодно. Например, пробелоблядки часто биндят свои последовательности пробелов на тот же таб.
>>758424 Вся история выч. техники это исторический курьёз: 80 символов в строке это исторический курьёз, C++ это исторический курьёз, IBM PC это исторический курьёз, UNIX это исторический курьёз, Windows это исторический курьёз…
>>758424 Это логично, потому что таб это единственный символ, который одновременно трактуется как пробельный и в то же время не используется в других целях (пробел, \n etc). Логично, что именно его используют для отступов.
>>758410 >символ, который по длине равен нескольки обычным, но при этом не может быть разделён пополам... Аргументы в стиле "STL уродлива, так как не позволяет наследоваться от std::vector". В ответ на вопрос "а зачем наследоваться от вектора?" или "зачем разделять таб пополам?" слышится только бессвязное мычание.
>>758426 > 80 символов в строке это исторический курьёз Да, к сожалению. Когда гитхаб сделает просмотрщик кода пошире, я был бы не прочь перейти на 120.
> C++ это исторический курьёз Нет.
> IBM PC это исторический курьёз Нет, лол.
> UNIX это исторический курьёз > Windows это исторический курьёз Ясненько. This is your brain on tabs, kids.
>>758443 Всегда подозревал, что только сельдь может в своем воспаленном гормонами сгустке нервной ткани родить идею использования пробелов для отступов.
>>758438 Ничего не едет. Отображение любого символа рассчитывается как N*w+l, где N - число отступов табами, w - ширина таба из настроек редактора, а l - количество дополнительных пробелов выравнивания. Если ты меняешь w, то все строки меняются консистентно, ибо N и l остаются прежними.
>>758468 Поэтому так не надо делать, очевидно. Если есть несколько строк с общим выравниванием, то у них в начале должно быть одинаковое количество табов, а не до упора в каждой строке. А если есть два разных блока, которые выровнены внутри себя, но не друг относительно друга, тогда у них может быть разное количество табов, т.к. им разрешается поехать друг относительно друга.
>>758432 >> UNIX это исторический курьёз >> Windows это исторический курьёз >Ясненько. This is your brain on tabs, kids. Ты просто историю плохо знаешь. Учи, чтобы не быть батхёртом.
>>758612 > табошизик всерьёз думает, будто его излияния надо опровергать по законам логики Ты не понял, мань. Вопрос "табы или пробелы" никто даже не рассматривает. Стайл-гайды придуманы ровно для того, чтобы серьёзные люди не сливали свои когнитивные ресурсы в эту дыру человеческой психологии. Так что в этом треде мы лишь лениво посмеиваемся над спазмами табооборванцев.
>>758721 Нет уж, позволь. Надевание белоснежной сорочки по выходу из лужи не отменяет того, что ты любитель искупаться в говне, знаешь ли. Если ты приличный человек, то и на зекаче будешь им оставаться. А если ты, в отличие от своего оппонента, позволяешь себе неаргументированное поливание инакомыслящих грязью вместо совместного поиска истины, то чем ты лучше тех зекачеров, от которых ты нос морщишь?
>>758473 Никто и не высказывает мнений. Раби работяги не прокрастинируют в бесполезных спорах, а заняты делом и единогласно используют стандарт индустрии.
>>758745 О, я вовсе не морщу нос. Для меня двач - это в первую очередь языковая игра "унизь оппонента", а уж в третью - поиск истины. Я получаю массу удовольствия от этой игры и, надеюсь, мои оппоненты - тоже. А проповеди по культуре дискуссий можешь приберечь для летнего лагеря "Юный скептик".
Нет, ты серьёзно так обижен темой про табы и пробелы? Ты ведь понимаешь, что это буквально самая тупая и флеймогонная тема во всём программировании?
>>758814 >О, я вовсе не морщу нос. Для меня двач - это в первую очередь языковая игра "унизь оппонента", а уж в третью - поиск истины. Я получаю массу удовольствия от этой игры и, надеюсь, мои оппоненты - тоже.
>>758451 А мог бы сделать то же самое за н/4 количество нажатий кнопок. А, скорее всего, и в два раза меньше, потому что редакторы автоматически выравнивают следующиу строку с предыдущей, значит, если у тебя в настройках табы, то на строке №3 ты сначала стёр все табы, а потом выровнял пробелом. Удобство/10.
>>759038 Я привёл скрин из gedit, т.к. там можно включить отображение табов и пробелов. Так я пишу в CLion, т.к. он умеет именно так, как мне надо: табы для отступов, пробелы для выравнивания. Разумеется, он расставляет всё сам.
>>758451 Если использовать только табы, то грамотно не выровняется, получается смесь табов и пробелов. Если не выравнивать - то пикрелейтед. Весь профит от табов теряется, особенно если другой разработчик настроил ширину табов не 4, а 6 или 8. Поэтому я считаю более удобным использование пробелов, а не табов.
Ебанутые? Таб это символ ТАБУЛЯЦИИ. Он блядь переносит на следующую ПОЗИЦИЮ ТАБУЛЯЦИИ в строке.
Это блядь вообще не для выравнивания, тем более кода. Это ДЛЯ РИСОВАНИЯ КОЛОНОК СРЕДСТВАМИ ASCII.
Еще раз, блядь. СИМВОЛ ТАБУЛЯЦИИ СОЗДАН ДЛЯ РИСОВАНИЯ КОЛОНОК И ТАБЛИЦ В ASCII-арте. Те, кто им выравнивает код - тупые пидарасы и петухи, за ними потом вечно приходится подтирать и выравнивать. А самое смешное случается когда у двух табопетухов разная длина таба, да. Да и одними только табами код не выровнять.
Статистика по ссылке выше отлично показывает, что чем более вменяемый язык(от Haskell и Common Lisp до раби какого-нибудь), тем меньше в нем используют табы - потому что на этих языках не петухи тупые пишут, а чем более язык петушиный и тупой(типа Go) - тем больше там пишут табами.
>>759330 Ты аргументируй давай, что плохого в том, чтобы сортировать аргументы один под другим, или как это нужно делать и почему я неправильно это делаю.
>>759348 >Табы - ДЛЯ РИСОВАНИЯ КОЛОНОК В ASCII Ну да, есть такой малоизвестный формат, tab-separated values, где для разделения столбцов используется символ табуляции.
А есть ещё куда более распространённый comma-separated values, где используются запятые для разделения столбцов. По твоей долбоёбской логике, теперь нельзя использовать запятые ни для чего, кроме как для разделения столбцов в таблицах.
>>759350 еблан, не tab-separated values типа CSV, а РИСОВАНИЕ ТАБЛИЦ. Потому что таб переносит на СЛЕДУЮЩУЮ ПОЗИЦИЯ ТАБУЛЯЦИИ КОТОРЫЕ НА ЭКРАНЕ ВЫРОВНЕНЫ КАК ТАБЛИЦА. В K&R про это даже есть. И ТОЛЬКО БЛЯДЬ ДЛЯ ЭТОГО ТАБ И ПРЕДНАЗНАЧЕН. Те кто с помощью него делают отступы и выравнивают код - ТУПЫЕ ПЕТУХИ.
Они во-первых, неграмотные уебаны, во-вторых, не знают, зачем вообще нужен таб(А ОН НУЖЕН ДЛЯ РИСОВАНИЯ ТАБЛИЦ В ASCII-ГРАФИКЕ, как и многие другие CONTROL CHARACTERS, НУЖНЫЕ ИСКЛЮЧИТЕЛЬНО ДЛЯ РИСОВАНИЯ ASCII-ГРАФИКИ), в третьих, просто тупые.
>>759344 Няш, а не знаешь часом, как это автоматически реализовать? Например, студия не отличает выравнивание от отступов, можно выбрать либо только пробелы, либо табы и 1-3 пробела в самом конце, что совсем не то. А вручную вбивать пробелы оче неудобно.
>>759344 Т.е., ты имеешь ввиду как на оппике до начала функции ставить несколько табов, а начиная с того места, где пишется код, грубо говоря, уже пихать пробелы? Ну хуй знает, в чём профит-то? В том, что разные разрабы смогут регулировать ширину отступа?
Итак, подведём итоги: пробелопетухи vs табобоги это как пользователи Word и LaTeX.
Что там, что там первые не осознают, что такое логическая структура, логическая разметка, и думают, что это то же самое, что оформление, внешний вид.
Нет, пробелопетухи. Таб нужен не для того, чтобы текст отступил на 2/4/8 знакомест от края. Он показывает структуру, уровень вложенности. Его оформленческая деятельность приятна, но второстепенна.
> ко-ко-ко, смотрите на графики с жидхаба, как нас многа! табодебилы соснули, вы немодные! Уиииии! Пользователей Word, форматирующих документ пробелами и выделяющих тест жирным (думая, что этим они показывают, что это заголовок) тоже больше, чем пользователей La(TeX).
>>758424 >А я напомню, что таб - это табулятор, то есть разделитель ячеек с данными. Попытки его применять для отступов - это исторический курьёз, не более. А я напомню, что пробел — это разделитель слов. Попытки его применять для отступов — это исторический курьёз, не более.
А я напомню, что когда в тиме используются табы, находится пидарас, который или использует mixed policy, или форматирует код, как ему удобно читать, а потом этот код на мрей машине читать, блядь, невозможно, потому что все разъехалось в разные стороны. Я ебал ваши табы. Е-бал!
>>759775 Как ни странно, такие вот пидарасы на моей памяти ни разу не находились.
Зато пидарасов, которые любят выравнивать аргументы по скобочкам или условия по if-ам, да и вообще любят столбики, было хоть отбавляй. И среди начальства таких хватало.
>>759772 >А я напомню, что когда в тиме используются табы, находится пидарас, Быдлопроблемы. Эх, щас бы оказаться на сосаче с дебиками, которые в свой сраный свн не могут добавить стайл-код политик.
> This document gives coding conventions for the Python … standard library > Many projects have their own coding style guidelines. In the event of any conflicts, such project-specific guides take precedence for that project.
>>758207 (OP) Я всегда использовал для отступов табы. Ссал и ссу лицо всем пробельщикам, в том числе и на этой доске неоднократно (например, Java-тред заполнен этими петухами, унижать их - одно удовольствие).
Быдла среди программистов, к сожалению, очень много, поэтому в 95% исходников для отступов используются пробелы (при этом количество пробелов у каждого быдлокодера свое). При этом code coventions к большинству языков (например, C#, Java, javaScript, PHP) пишется тем же самым быдлом, поэтому там тоже рекомендуются пробелы.
Преимущества табов: 1) в редакторе можно задавать отступ, для лучшего чтения исходников; 2) отступ делается нажатием всего одной клавиши; 3) стирание отступа делается всего одним нажатием клавиши BackSpace. Последние 2 пункта существенно увеличивают скорость набора и редактирования кода (посмотрите, сколько строк в коде - отступов, как минимум, не меньше).
Преимущество пробелов только одно, и быдлокодеры его не знают - всегда можно контролировать максимальную длину строки. На самом же деле большинство из них просто не умеет настраивать шаг табуляции в своем редакторе/IDE (отдельные петухи используют для набора кода стандартный блокнот Windows, где такой настройки нет).
На работе обычно используют такой стиль, какой принят - и использования пробелов я ни разу не встречал.
>>758226 Зависит от IDE. Но обычно преобразование пробелов в табы и наоборот работает криво - потому что у одного петуха табуляция в 4 пробела, у другого в 8 и т.д.
>>759788 > которые любят выравнивать аргументы по скобочкам или условия по if-ам, да и вообще любят столбики Я считаю, что любовь к таким вещам - признак латентного гомосексуализма. Но обычно выравнивают именно пробелами (табуляцией трудно, там же выравнивание плавающее).
mixed policy получается обычно, когда к петуху-пробельщику попадает нормальный код с использованием табов, и он начинает его украшать, следуя своим гомоэстетическим вкусам.
>>761326 >2) отступ делается нажатием всего одной клавиши; >3) стирание отступа делается всего одним нажатием клавиши BackSpace. Мань, группа пробелов в редакторах и идешках добавляется и удаляется одним нажатием. Да, поставить или удалить четыре пробела можно одним нажатием.
>>761344 Как же не был, несколько было приведено: 1) Табы были изобретены для разделения столбцов в таблицах, поэтому для отступов надо использовать пробелы (ага, а пробелы были изобретены чтобы делать отступы) 2) Гвидо запретил табы!!! (в стандартной библиотеке питона, и только) 3) Если использовать табы, то в проекте найдётся пидарас, использующий пробелы (а если использовать пробелы, то это магически защитит от пидарасов, использующих табы или другое число пробелов) 4) ТАБОПЕТУХИ!!!
Вот такие охуенные аргументы были приведены (вроде ничего не забыл)
3) Если использовать табы, то в проекте найдется пидарас, выравнивающий табами "в столбик". А так как настройки табов у всех разные, то этот код разъезжается у всех остальных. А если все используются пробелы, то код выглядит у всех одинаково блевотно.
>>761416 Мань, я жму на таб и получаю сразу четыре пробела. Копилку польдеров я юзаю только для одиночных пробелов. Или это не укладывается в твоём иссохшем табоопущенском мозгу?
>>761591 >и получаю сразу четыре пробела ... а потом при редактировании изображая страдающего Паркинсоном балалайщика-онаниста выдаёшь <Left>,<Left>,<Left>,<Left> <Right>,<Right>,<Right>,<Right> <Backspace>,<Backspace>,<Backspace>,<Backspace> <Delete>,<Delete>,<Delete>,<Delete> Ну что ж, разумно, если природа наградила только спинным мозгом - стоит пользоваться тем что есть.
>>761604 Пробело-опущенцы им часто пользуются, вроде этого дегенерата: >>752448 >>752448 > but on another computer or printout the spacing might look all weird. В каких еще программах нельзя задать шаг табуляции при распечатке? Только в виндовом блокноте.
>>761619 В смысле, >>752839 > Tabs can be a different size on different computers and printers. The code might look great on the original computer, but on another computer or printout the spacing might look all weird.
>>761614 Так настройки IDE разные, у Петухана Куриханыча 4 пробела, а у Курихана Петуханыча, чей код он скачал с гитхаба, 2. Поэтому и навигация работает через жопу.
>>761599 Манька не знает о комбинации ctrl+стрелка? Как всегда, табопетухи сначала считали, что все пробелы пишутся вручную, потом удаляются вручную, потом перемещаются по ним по одному, но обосрались по всем направлениям.
>>761729 Вилка вариантов ответов слишком узка, чтобы расчистить такую говноситуацию, иронично... В любом случае я уже решил для себя, что в психушку живым не вернусь. Точка.
Почаны, подскажите расширение для gedit, чтобы вместо таба ставились пробелы Жать кучу раз на пробел как долбаеб не хочется, поэтому юзаю табы как долбаеб
>>762182 > Неужели выдрали, так как СМУЩАЛО ПОЛЬЗОВАТЕЛЕЙ? Потому что пробельщики должны страдать. Все правильно сделали. Пущай нажимают на свой пробел по 4 раза, как фуфелы.
Посрались.
Как её переубедить?
(Автор этого поста был забанен. Помянем.)