LINUX.ORG.RU
ФорумTalks

Вы тут сидите и ничего не знаете, а там Торвальдс федоровцам пальцы показывает.

 ,


0

4

Федоровцы не смогли в нормальный парсер Kconfig и решили заменить табы пробелами, Линус патч завернул и отправил их чинить парсер.

https://www.opennet.ru/opennews/art.shtml?num=61021

★★★★★

решили заменить табы пробелами

Вот буквально эти же люди, кстати, очень любят поплёвывать в сторону тёть, которые форматируют документы пробелами.

Но у программистов Это Другое.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от papin-aziat

табы могут иметь разный вид

Ну и пусть имеют. ШГ имеют разный вид, кого это волнует?

они вроде для таблиц

Они для выравнивания текста. Буквально для этого вот.

thesis ★★★★★
()
Ответ на: комментарий от thesis

Я плохо понимаю эту тему, и (кстати) только недавно отказался от табов в принципе при написании своих скриптиков (короче так и не понял эту тему с табами). А идея юзать табы, но указывать редактору, чтобы он рисовал размер 4 или 2, что-то как-то кажется фиговой.

Где можно вообще почитать про эту тему?

papin-aziat ★★★★★
()
Последнее исправление: papin-aziat (всего исправлений: 1)

Мощно. Торвальдс очень крут.

wandrien ★★
()
Ответ на: комментарий от papin-aziat

Где можно вообще почитать про эту тему?

Нигде, потому что всем адекватам это самоочевидно.

Indent with tabs, align with spaces.

intelfx ★★★★★
()
Ответ на: комментарий от papin-aziat

Есть несколько подходов к формированию отступов в коде с разной степенью упоротости.

Первый.

Отступы в начале строки формируются табами. Любые прочие отступы внутри строк формируются пробелами.

Это позволяет использовать любую ширину таба в редакторе, и текст нигде не «поедет». Предпочитаешь отступы в 2 символа – пожалуйста, предпочитаешь в 8 символов – пожалуйста. Как в редакторе поставишь, так и будет.

Второй.

Табы вообще не используются, и всё форматируется пробелами.

Минус в том, что размер отступов визуально не настроить в редакторе, зато плюс в том, что всё максимально просто и очевидно.

Минус возникнет, если автор кода предпочитает херачить отступы в 8 пробелов, а ты считаешь, что такое невозможно читать. Или наоборот.

Третий.

Договориться, что таб имеет конкретный фиксированный размер, им ФИГАЧИТЬ ЕГО ВЕЗДЕ ВПЕРЕМЕШКУ С ПРОБЕЛАМИ.

Получается адский винегрет, который предъявляет максимальные требования к текстовому редактору ради ничего. Никаких плюсов, только минусы.

Редактор открыл документ с другим размером таба? Получай кашу на экране.

Именно в таком упоротом виде отформатирован весь код проекта GNOME.

Тянется это еще из 90-х «хакерских» времён.

Байты они экономят, чтоб их.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: удаленный комментарий

Парсер конфигов ядра должен обрабатывать табуляции и пробелы идентично.

Я не про парсер, а про людей. И нет, парсер не должен обрабатывать различные символы одинаково лишь на том основании, что для гали они одинаково выглядят.

Форматирование табами имеет смысл дополнительно при условии, если мы договоримся о размере таба.

Размер таба равен одному табу, алё.

thesis ★★★★★
()
Ответ на: комментарий от thesis
  1. Программистам нужно снижать зарплаты, для этого их надо сравнять с тётками

  2. У программистов есть разметка где аттрибуты переносятся на другую строку. Очень помогает в 1. в плане внедрения пробелов

DumLemming ★★
()

Оказывается в github actions yaml конфиге нельзя смещать табами, только пробелы. Я целый день протрахался в непонятках, что я делаю не так и только по случайности это заметил. Треш какой-то.

spbzip
()
Ответ на: комментарий от wandrien

Правильно. А пробел состоит из пробела. И никто не договаривается о водянистости воды и размере пробела, но с каких-то бодунов приходит взрослый человек и предлагает договориться о размере таба.

О размере linefeed’а не надо договориться?

thesis ★★★★★
()
Ответ на: комментарий от thesis

Они для выравнивания текста.

Не совсем. Табы изначально создавались для правильного позиционирования на перфокартах. И этим обусловлено значение таба в 8 символов.

knock
()
Ответ на: комментарий от thesis

Ты это не мне, ты это разрабам Гнома расскажи.

Из-за этого в тектовых редакторах приходится уметь парсить modeline, чтобы файл не выглядел как мусор.

wandrien ★★
()

Палец деда двигает прогресс!

Vilicus
()
Ответ на: комментарий от wandrien

Какиры не сдаются: https://ibb.co/K9Wfp1h

Сцуко, чтобы это отобразить корректно, нужен таб в 8 знакомест. А ширина отступа при этом – 2 знакоместа.

МОДЕЛАЙНА В ФАЙЛЕ НЕТ.

Чтоб их черти жарили.

wandrien ★★
()
Ответ на: комментарий от wandrien

Это позволяет использовать любую ширину таба в редакторе, и текст нигде не «поедет». Предпочитаешь отступы в 2 символа – пожалуйста, предпочитаешь в 8 символов – пожалуйста. Как в редакторе поставишь, так и будет.

А потом в терминале смотришь и лапша стала на 6(+6 и тд) символов длиннее.

Минус в том, что размер отступов визуально не настроить в редакторе, зато плюс в том, что всё максимально просто и очевидно.

Плюс в том, что выглядит одинаково везде.

Минус возникнет, если автор кода предпочитает херачить отступы в 8 пробелов, а ты считаешь, что такое невозможно читать. Или наоборот.

А зачем такому отказываться от табов?

papin-aziat ★★★★★
()

Да он в деле с командой Fedora.

То есть, по-русски говоря: «это, милый, всё на публику».

sparkie ★★★★
()
Ответ на: комментарий от Irma

Сразу видно человека, никогда не сдававшего техдокументацию в нормоконтроль. Таки да, цепляются к каждому отступу и точке не в том месте.

alegz ★★★★
()
Ответ на: комментарий от wandrien

В твоём воображении…

Да, в моем воображаемом гитхабе, еще 7 лет назад

Чувак, если тебе нечего сказать - просто промолчи. Ну или непросто, кряхтя, ерзая и дымясь, но все-таки.

thesis ★★★★★
()
Ответ на: комментарий от papin-aziat

Где можно вообще почитать про эту тему?

Да вот прямо в этом каменте сейчас всё необходимое и прочитаешь, внимание: табы придуманы именно для того, чтобы многократно не тыркаться в пробел.

thesis ★★★★★
()
Ответ на: комментарий от papin-aziat

А потом в терминале смотришь и лапша стала на 6(+6 и тд) символов длиннее.

Если только в diff и grep смотреть. Других причин делать сырой выхлоп на терминал не особо много.

А зачем такому отказываться от табов?

Ну например я обычно использую таб шириной 4. А вообще попадается в сорцах всё подряд. Бывает, что в проекте сорцы основной части отформатированы одним способом, а сорцы вспомогательной обвязки – другим, потому что их писал другой человек, или они были с минимальными правками свистнуты из другого проекта.

В запущеных случаях – по-разному форматированы функции в пределах одного файла. Где-то в опенсорс проекте я такое недавно видел, но не запомнил, что за код был.

wandrien ★★
()
Ответ на: удаленный комментарий

Эта настройка обычно выставляется прямо в файле с исходниками.

Это как?

grem ★★★★★
()
Ответ на: комментарий от thesis

Ахаха. Так это у тебя в треде сгорела жопа, при чём настолько, что ты поднял этот вопрос, никак не касающийся сабжа. Теперь бегаешь и доказываешь, что «что-то умерло». Обычно так фанатики себя ведут.

А мне каждый день приходится работать с сорцами, которые какой только сранью не отформатированы.

wandrien ★★
()
Ответ на: комментарий от wandrien

Перефразируя знаменитый риторический вопрос в утверждение, скажу так: это «горение жопы» сейчас с тобой в одной комнате.

А мне каждый день приходится работать с сорцами, которые какой только сранью не отформатированы.

А вот и причина возгорания.

thesis ★★★★★
()
Ответ на: комментарий от wandrien

Тебе же нечего сказать, правда?

А вот мне есть. Вот, например: если бы каждой гале давали за пробельные отступы по лапкам, а не вручали ей «парсер, который должен одинаково обрабатывать символы табуляции и пробелы»(с), этого твоего возгорания бы не было.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от thesis

А вот мне есть. Вот, например: если бы каждой гале давали за пробельные отступы по лапкам, а не вручали ей «парсер, который должен одинаково обрабатывать символы табуляции и пробелы»(с), этого твоего возгорания бы не было.

Ты какую-то бессмыслицу говоришь. Если хочешь быть понятым, попробуй найти более ясную формулировку. Мне твои страдания не очевидны.

wandrien ★★
()
Ответ на: комментарий от wandrien

Так, итоги подведем.

«Твои страдания», «горящая жопа», «потрогай траву», «в твоем воображении», реакция клоуном и теперь вот флейм.

Давай я просто буду считать тебя животным?

thesis ★★★★★
()
Ответ на: комментарий от spbzip

Это самый распространенный формат для перфокарт. Вроде в 20-х годах прошлого века IBM ввели в работу. Размер терминала в 80 символов на строку оттуда же.

knock
()
Ответ на: комментарий от thesis

Царство животные, тип хордовые, класс млекопитающие, отряд приматы, семейство гоминиды, род человек, вид разумный.

Кого ты пытаешься уесть, глубокоуважаемое Non-Human Intelligence?

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)
Ответ на: комментарий от wandrien

А мне каждый день приходится работать с сорцами, которые какой только сранью не отформатированы.

Обнял. /me вспомнил 750-страничную ПЗ, отформатированную пробелами. Весь документ был выровнен по ширине пробелами. Я даже хз, как у автора терпения хватило. А потом надо было добавить в самом начале пару абзацев и по паре предложения… Ух как у меня тогда сначала горело, а потом я разочаровался в людях.

Zhbert ★★★★★
()

Линус патч завернул и отправил их чинить парсер.

Нет, не завернул. Но парсер чинить отправил т.к. сделал ещё один патч, добавляющий табы в другом месте.

firkax ★★★★★
()
Ответ на: комментарий от Zhbert

вспомнил 750-страничную ПЗ, отформатированную пробелами. Весь документ был выровнен по ширине пробелами. Я даже хз, как у автора терпения хватило.

Как у автора хватило терпения писать 750 страниц чего-то (не знаю что такое ПЗ) - и правда непонятно. А вот выравнивание пробелами вполне могло и автоматическим быть.

firkax ★★★★★
()
Ответ на: комментарий от Zhbert

Меня иногда просят помочь отформатировать что-нибудь типа титулов или таблиц в ворде.

Ну эти титула, которые пробелами и переводами строк отформатированы в happen to look correct подобие страницы.

Вон там выше @thesis про размер line feed пытался пошутить. Превед, thesis, каг дила?

Я это всё правлю в такой вид, чтобы страница вела себя предсказуемо, когда надо добавить, отредактировать или удалить разные части титула.

А через некоторое время мне опять подобный титул приносят. Из каких-то залежей архивов они их достают что ли)

wandrien ★★
()
Ответ на: комментарий от papin-aziat

Строго N раз в начале, где N — логический уровень вложенности текущей строчки. Пример:

int very_long_function(int arg,
.......................int other_arg)
{
<------>return arg + other_arg;
}

int main(int argc, char **argv)
{
<------>int foo = very_long_expression(),
<------>....bar = other_long_expression();
<------>for (; foo != bar; ++foo) {
<------><------>printf("foo=%d, bar=%d\n",
<------><------>.......foo, bar);
<------>}
}

Здесь <------> — это табы (размера 8), а . — это пробелы.

Легко заметить, что если аккуратно следовать этому правилу, размер таба можно заменить на любой другой и форматирование не «поедет».

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от firkax

Как у автора хватило терпения писать 750 страниц чего-то (не знаю что такое ПЗ) - и правда непонятно.

Пояснительная записка. Ты ее к диплому писал, например. А в оборонке это вполне норм, там и больше бывают документы.

А вот выравнивание пробелами вполне могло и автоматическим быть.

В 2003 ворде с включенным режимом «ровнять влево»?

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

А, я думал речь про текстовый файл. Может файл в начале был текстовым а потом скопирован а ворд. Хотя тогда бы ширина букв испортилась наверно. Нативно в ворде такое делать и правда странно.

firkax ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)