Re[21]: Наследие времён Телетайпа
От: · Великобритания  
Дата: 13.07.16 09:33
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>·>Некоторые проекты просто ссылаются на linux kernel style.

Q>«The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.» Серьёзно, три уровня? Там код только начинается, если в языке есть пространства имён и классы.
Q>«Это их внутренние стандарты, которые редко меняют из-за бюрократии и того, что уже тонны кода в таком формате написаны.» Гайдлайны из прошлого тысячелетия, Карл.
Допустим. Суть в том, что 4 пробела — не единственный вариант с пробелами, пробельщики договориться друг с другом не могут. В ruby афаир 2 пробела. Да ты сам с собой договриться не можешь — какие-то уже "нормальные" и "компактные" отступы придумал, притом в зависимости от желания левой пятки.

Q>Приведённые же выше гайдлайны от Гугла эволюционировали на глазах за последние несколько лет, с постепенным осторожным внедрением C++11.

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

Q>·>...пробелы запрещены для отступов законодательно, высшая мера наказания и кода с пробелами не существует. Ты видишь какие-нибудь проблемы в этой вселенной?

Q>Конечно вижу, я даже собственный код не смогу видеть единообразным в разных просмотрщиках. Не говоря уже о том, что сетка канваса редактора (при моноширинном шрифте) становится фейком. Символы занимают не те колонки, какие кажутся. Грубо говоря, управляющие символы ломают plain text. В создаваемую с нуля вселенную не стоит тащить наследие времён Телетайпа сорокалетней давности.
Не понял почему. Что становится фейком? Что именно ломают? Почему у меня не ломают? У меня везде стоит ширина таба 4 по дефолту, кроме kdiff3 и xml/html-файлов — 2.

Q>·>Как минимум будут войны на тему сколько пробелов должно быть в отступах — 2, 4 или 8 или 13.

Q>Как-то же получается договариваться насчёт египетских скобок, `SNAKE_CASE` и транслита в идентификаторах?
Так не получается же. А так хотя бы одной проблемой было бы меньше.

Q>·>а почему бы не заменить стандартные четыре символа на специальный символ со специальным кодом, и кнопку бы неплохо добавить... ведь нажимать четырежды сложнее?

Q>Кнопку конечно, не плохо бы добавить, чтоб выравнивала пробелами по настроенному количеству знакомест.
И как бы редакторы поддерживали разные настройки у разных пользователей? Кому-то нравится два, кому-то четыре, кому-то восемь.

Q>Но отдельный управляющий символ со специальным кодом? В современном мире не нужен.

Расскажи это консорциуму Unicode.

Q>·>Патч уже постили? Разрабы наотрез отказались мержить?

Q>Это проприетарный редактор. И никто не будет тратить время на то, чтобы вместо простой вставки текста файла в стандартный компонент какого-нибудь фреймфорка а-ля `myLabel.SetText("File content")` тратить ресурсы на предварительную обработку содержимого, умную замену табуляции, etc.
Т.е. я понял. Главная проблема в том, что дефолтный размер таба — 8 символов. Было бы 4 — проблем бы не было.

Q>·>Ок, никогда это не видел, но можно поверить, что одна такая прога есть.

Q>Чувак, да их тысячи — программ, содержащих label'ы и textedit'ы с пользовательским текстом. Мессенджеры всякие (кстати, Скайп вставляет _один_ пробел вместо табуляции), заметки типа Google Keep, мобильные браузеры, книгочиталки. Чтобы иметь предсказуемый вид для своего же текста в случае табуляции нужно затратить слишком много усилий.
Вид текста от размера табуляции не зависит. Мы же говорим об отступах (indent) табуляцией, а не о выравнивании (alignment).

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

Q>·>С бразуерами всё просто.

Q>·>Как сделать user style css думаю сам разберёшься.
Q>Да ты троллишь просто, да? У меня нет времени на кормёжку.
Ээ.. Это ты троллишь про "почти все программы". Как начинаю разбираться — так выясняется, таких программ одна штука, притом довольно специфичная.

Q>>>Unity 3D... При использовании табов получается таже не куча пустого места, а просто месиво разорванных строк.

Q>·>А при использовании восьми пробелов что происходит?
Q>Восемь порбелов, кстати, занимают меньше места, чем табулированный отступ. В окошке Инспектора текст отображается не моноширинным шрифтом.
Эээ.. По-моему бага какая-то.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.