LINUX.ORG.RU
ФорумTalks

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

 ,


0

4

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

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

★★★★★

Ответ на: комментарий от firkax

Не не, там изначально вордовый документ был. С рисунками, схемами, подписями к рисункам (вручную пронумерованным, конечно же, выровненным по рисунку тоже вручную).

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

А вообще возвращаясь к теме треда,

какой процесс должен происходить в недрах Федоры, чтобы кто-то решил, что направить патч в ядро – более эффективное решение, чем добавить одну закорючку в где-то регулярку в себя в коде?

Не представляю.

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

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

Так то это так, но вот приписывать везде ширину таба в 2 пробела утомительно, а ещё хуже когда ты в этом же редакторе откроешь файл, где табами выровнена например таблица (аналог csv с табом в качестве разделителя), и если с 8-символьными оно выглядит более-менее норм с короткими ячейками, то с 2-символьными получается каша.

Я когда-то в FAR редакторе поставил 4-буквенные табы чтобы они выглядели одинаково с дефолтными табами visual c, смотреть исходники стало удобнее, но регулярно сталкивался с описанной выше проблемой. В конце концов, с переходом на линукс и mcedit, уже оставил 8-символьные табы а отступы стал ставить пробелами и по 2 а не по 4.

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

Ну нам сложно познать всю глубину их глубин…

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

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

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

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

firkax ★★★★★
()
- А давайте оставим один стандарт, чтобы весь код всегда и везде выглядел одинаково!  
- Нет, давайте оставим 100500 стандартов форматирования, чтобы каждый неадекват мог сделать ПОД СЕБЯ.
MoldAndLimeHoney
()
Ответ на: комментарий от MoldAndLimeHoney

А давайте оставим один стандарт, чтобы весь код всегда и везде выглядел одинаково!

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

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

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

Твоя ссылка ведёт явно не на гитхаб, а ещё она битая.

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

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

Для этого в mcedit есть опция «fill tabs with spaces» - нажимаешь таб, а печатается нужное количество пробелов.

Кстати спасает ещё и от плывущего вывода диффа у которого обычные строки сдвигаются вправо на 1 символ, а те где есть табы - немного портятся.

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

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

Предлагаю не смешивать документы и исходный код. Потому что документы как правило делают так чтобы они красиво печатались, а исходник должен приемлимо выглядеть на экране. Никого же не смущает тот факт что в печатных документах обычно используются пропорциональные шрифты,а при отображении исходников - обычно моноширинные. Поэтому и остальное обсуждение вопросов вёрстки применительно к исходникам - довольно бессмысленно. В издательской деятельности этим вообще отдельный человек занимается - верстальщик. Который и знает как сделать текст красивым. А автор текста занимается содержанием самого текста.

Дискуссия же о табах и пробелах в исходниках - это попытка смешивать в одну кучу содержание и оформление(вёрстку). Разумнее было бы это разделить,научив «программистский» текстовый редактор показывать исходник так как удобно тому кто сидит за компом,в соответствии с локальными настройками,а при сохранении - сохранять так как например лидер проекта решил,заменяя табы на пробелы или пробелы на табы в нужных местах. Сейчас это можно делать для сишного текста с помощью например программы indent c соответствующими настройками. Но применять ее приходится вручную - сначала для преобразования в предпочитаемое локальное представление,а после редактирования - в то представление которое предпочитают в проекте если оно не совпадает с локальным. Тем более что при интенсивном многократном редактировании (например в процессе экспериментов или борьбы с непонятным глюком программы) форматирование всё равно рушится и периодически приходится прогонять автоформаттер чтобы его восстановить в приличном виде,иначе уже и самому читать неудобно.

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

Во-первых, касательно конкретно тех таблиц я ж написал - это не выравнивания были а csv-разделитель. И вполне удачный, т.к. в итоге файл можно было более-менее смотреть в текстовом редакторе, но это не цель а побочный бонус. Запятые и точки с запятыми не годились ещё и потому что часть полей могла их содержать.

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

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

Тем более что при интенсивном многократном редактировании (например в процессе экспериментов или борьбы с непонятным глюком программы) форматирование всё равно рушится и периодически приходится прогонять автоформаттер чтобы его восстановить в приличном виде,иначе уже и самому читать неудобно.

Никогда с таким не сталкивался.

У меня выработалось следующее правило из 2-х частей:

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

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

Предлагаю не смешивать документы и исходный код.

Общее и там и тут в том, чтобы текст был удобен для обработки как объект правок. Грамотно отформатированный документ легко править, так же как и грамотно отформатированный исходник.

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

это не выравнивания были а csv-разделитель.

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

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

Мне это напомнило, что в N++ есть режим, когда при переносе длинной строки на несколько строк рендера, она получает одинаковый отступ на всех составных частях. Это удобно для работы со списками, да и с исходниками иногда тоже.

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

Превед, thesis, каг дила?

Привет.

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

Я гляжу, ты все делишься травмами. Аж на людей бросаешься, с которыми и повода сраться нет (типа меня, например).

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

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

ВСЕХ!

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

Для этого в mcedit есть опция «fill tabs with spaces»

Она практически везде есть, я ж и писал там - пробелы победили.

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

Я гляжу, ты все делишься травмами.

Да. ЛОР это ресурс для проработки травм. Ты разве не знал?

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

Тебе привиделось, что на тебя кто-то бросается, что ты даже перешел на прямые оскорбления на прошлой странице. Это механизм проекции в психике.

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

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

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

Общее и там и тут в том, чтобы текст был удобен для обработки как объект правок.

Нисколько с этим не спорю. Вот только удобство - штука очень субъективная. Подтверждением тому - постоянно возникающие разногласия о визуальной длине табов. По факту они разные не только в разных проектах,а даже бывает что и в одном в разных файлах,написанных разными людьми. Потому я и высказал выше идею о наделении редактора способностью показывать текст так как удобно/привычно пишущему,а сохранять в файл так как «принято» в этом проекте. Тогда будет достаточно один раз и навсегда настроить свои локальные предпочтения и всегда писать в одном привычном стиле. А заходя в новый проект - менять только настройки «экспорта». Для исходников на Си так вообще достаточно было бы интегрировать в редактор программу indent в качестве входного-выходного фильтра.

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

Ты хотел чего-то?

Наблюдаю из любопытства. А ты с какой целью выходишь на связь?)

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

Тем более что при интенсивном многократном редактировании форматирование всё равно рушится

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

Понятно что не сталкивались - вы в этих случаях рушите форматирование сознательно сами. Не всем это подходит так как код вообще без отступов многим воспринимать тяжело.

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

Тогда будет достаточно один раз и навсегда настроить свои локальные предпочтения и всегда писать в одном привычном стиле. А заходя в новый проект - менять только настройки «экспорта». Для исходников на Си так вообще достаточно было бы интегрировать в редактор программу indent в качестве входного-выходного фильтра.

Эта абстракция будет течь на частных случаях. Редактор не достаточно умный, чтобы отделить места, где автопереформатирование работает, от тех, где нужно оставить как есть.

Можно попробовать решить вопрос нейросеткой, но пока на современных вычислительных мощностях это слишком дорого.

wandrien ★★
()

Правильно показывает.

Хоть я и предпочитаю пробелы табам (ибо в коде не должно быть разных символов с одним отображением), но нужно следовать сложившимся правилам оформления. Если весь проект на табах, то надо использовать табы, а всем, кто думает иначе – показывать пальцы.

soomrack ★★★★
()

Нужно запретить и табы и пробелы, заменив их универсальным «k-пиксельным форматированием» k ∈ {0…∞} :)

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

Кто девушку ужинает, тот её и танцует. На их деньги банкет, хотят табы выкинуть, имеют право. Это ещё у Линуса пока есть возможность что-то поперёк возразить, уйдёт он – будут коммиты без ревью пихать.

cocucka_B_TECTE
()
Ответ на: комментарий от soomrack

Правильно показывает.

Хоть я и предпочитаю пробелы табам (ибо в коде не должно быть разных символов с одним отображением), но нужно следовать сложившимся правилам оформления. Если весь проект на табах, то надо использовать табы, а всем, кто думает иначе – показывать пальцы.

Там немного не в этом суть.

В систему конфигов ядра случайно затесалась табуляция. Кто-то предложил убрать табуляцию, потому что на ней ломается какой-то сторонний неизвестный широкой публике парсер конфигов.

Торвальдс сказал, что проблемы левых out of tree парсеров – это их личное дело, и если они неправильно парсят текст, то пусть их авторы их чинят. И добавил еще больше табов в текст.

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

Ты зачем психолоджик моумент удалил?

Сам быканул, сам включил дурку, сам обиделся, сам заигнорил. Классика психологических игр. =)

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

Редактор не достаточно умный, чтобы отделить места, где автопереформатирование работает, от тех, где нужно оставить как есть.

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

Кстати, автоформаттер был бы актуален для Питона с его значащими пробелами. Вот уж не думал что в 21 веке столкнусь с таким пережитком времен перфокарт,с которыми я когда-то таки работал и там таки пробелы учитывались. В итоге если приходится править какой-нибудь питоновский скрипт (сам не пишу,но чужие попадаются) - сначала пишешь, а потом подгоняешь число пробелов в начале строк чтобы интерпретатор не ругался. :(

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

Оказывается в github actions yaml конфиге нельзя смещать табами, только пробелы

Ни в каком yaml нельзя использовать табы, только пробелы. Это часть спецификации.

no-such-file ★★★★★
()
Ответ на: комментарий от quickquest

«Нужно просто придумать один универсальный стандарт», угум.

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

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

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

постоянно возникающие разногласия о визуальной длине табов

Что с людишками такое? Разногласия могут быть с произвольной портянкой в txt а все жесткие форматы должны иметь жесткие длины табуляции - жабаскрипт 2, си 4, итд

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

Чёт сомнительное утверждение

Это только пока шлангуешь, а лишь стоит перестать, так сразу вокруг ЛОРа возникает остальной интернет, а там и гугль, и википедия на разных языках, и прочие сайты.

thesis ★★★★★
()

Вы тут сидите и ничего не знаете

Да мы уже забыли этот баян.

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

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

Да всё так и есть.

Клавиатура – это исторический артефакт, который все принимают как есть и никто не хочет глобально передизайнить. Не считая всякого говна типа «кнопок для запуска ворда».

Между тем на клавиатуре отсутствуют выделенные клавиши для:

  • Смены раскладки.
  • Copy, Cut, Paste.
  • Undo, Redo.
  • Банально не хватает места под буквы для многих языков.

Между тем клавиатура Sun из 90-х: https://en.wikipedia.org/wiki/File:Sun_Oracle_type-7_keyboard.jpg

В 70-е и 80-е клавиатуры делали под конкретные задачи с учётом конкретной машины и софта, который там будут запускать.

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

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

Между тем на клавиатуре отсутствуют выделенные клавиши для:

Смены раскладки.

Как это отсутствует? Большая такая, слева по центру.

Copy, Cut, Paste.

Undo, Redo.

Эх была у меня сановская клава, жать только пс/2 никуда уже не воткнёшь.

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

Copy, Cut, Paste

Кстати, эту тему я подсмотрел у мака и переместил контролы на место альтов — теперь эти функции можно и одной левой, когда в правой мышь. Да и вообще, идея иметь часто используемые контролы под средними пальцами и разгрузить мизинцы во время слепой печати мне кажется хорошей.

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

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

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

Кстати, эту тему я подсмотрел у мака и переместил контролы на место альтов

Так же делал.

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

все жесткие форматы должны иметь жесткие длины табуляции - жабаскрипт 2, си 4, итд

А теперь попробуйте убедить всех кодописателей придерживаться не просто определенной длины табуляции,а еще и разной для разных языков. Уверен что не получится. Кстати - кто видел справочную таблицу для каких языков какая длина табуляции должна быть? Например для Ada какая? Я когда на Аде писал - пробелы использовал. Впрочем - я и сейчас их использую в Си, а единообразные отступы за меня программа indent расставляет.

Да и сама идея табуляции - это с механических пишущих машинок еще,чтобы было удобно какие-нибудь таблицы набивать. И только для этого их там и использовали насколько я видел (а я времена пишмашинок вполне застал). При наборе просто текста никто с настройкой отступов по табу тоже не заморачивался. Кстати, там «длина табуляции» тоже настраивалась(не уверен что на всех машинках,но на тех что видел - да).

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

Я не шлангую, я общаюсь с компьютерными профессионалами, нахрена мне интернет!?

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

Получилось здорово, уже давно привык, единственный минус, когда очень быстро набираю (на самом деле — напрягаюсь), то бывает средним пальцем попадаю на пробел.

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

сама идея табуляции - это с механических пишущих машинок еще,чтобы было удобно какие-нибудь таблицы набивать

Вот, что-то уже похожее на истину всплывает.

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

Эх была у меня сановская клава, жать только пс/2 никуда уже не воткнёшь.

Есть переходники ps/2->usb. Как дорогие навороченные,так и дешевые китайские. Китайским вот прямо сейчас пользуюсь потому что моя клава из 1995 года Chicony KB-5311 вообще имеет разъем DIN.

https://avatars.mds.yandex.net/get-mpic/4367383/img_id2100192958505301787.jpeg/600x800

Поэтому сначала используется переходник DIN->PS/2,а потом PS/2->USB. Всё отлично работает. Разве что дешевые китайские переходники не очень долговечны - хватает на пару лет,потом умирают. Так я несколько штук в запас купил.

Можно и самому на микроконтроллере собрать. Я собирал когда зимой из моей деревни было не добраться до магазина:

https://radiokot.ru/forum/viewtopic.php?f=61&t=100200

P.S. Пишут что может не работать в играх.

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