LINUX.ORG.RU

Typo ellipsis, или роботы на защите многоточий

 , ,


1

1

Добрый день, Лор.

С неделю назад ко мне в гитхаб постучалось нечто с ником leela52452 и оставило пуллреквест. Предлагает все сочетания из трёх точек заменить на юникодные многоточия.

Посмотрел в профиль пришельца — 36 реп, все форкнутые. Кроме сиплюсплюснутых, есть проекты на яве, питоне, перле и даже Vala. Роботы нынче пошли с широким кругозором. :)

Собственно вопрос: а насколько это принято и безопасно? Сейчас, хвала Qt Linguist, у меня почти все файлы в ASCII. А тут уже юникодный спецсимвол, хоть и более-менее общепринятый. Есть примеры известных опенсорсных проектов, где такое лепят прямо в исходники?

★★★★★

Есть примеры известных опенсорсных проектов, где такое лепят прямо в исходники?

Go использует · (middle dot) в ассемблере.

TEXT runtime·profileloop(SB),NOSPLIT,$8
	MOVQ	$runtime·profileloop1(SB), CX
	MOVQ	CX, 0(SP)
	CALL	runtime·externalthreadhandler(SB)
	RET
beastie ★★★★★ ()

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

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

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

это ещё фигня. я в одном проекте видела (это был netsukuku), как в течение пары лет какая-то дама применяла патчи с форматированием пары строк каждый. стопицот патчей, все ни о чём. бывают странные люди.

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

У меня в исходниках такое троеточие тоже есть

троеточие

Особо одаренные человеческие особи с ОБВМ говорят «троеточие», что частенько заставляет Grammar Nazi высирать сразу троекирпичие.

Отсюда.

@hobbit, а в чём, собственно, проблема? Сейчас ни одна вменяемая среда разработки к однобайтоте гвоздями не прибита.

rebforce ()

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

Iron_Bug ★★★★★ ()

Мир давно на UTF-8, не стоит его бояться. Пулл реквест я бы отклонил и зарепортил отправившего, потому что автоматизированные правки - зло, и конкретно к троеточию есть вопросы - скажем, в одном месте в коде я явно оставил три точки потому что по количеству символов прикидываются физические размеры текста, при этом … и … выглядят одинаково, но размер у них явно больше одного символа. Но в общем случае конечно надо заменять, я лично использую юникод и в комментариях, и в исходниках, и в документации, и в коммит мессаджах, ибо так получается намного нагляднее. Особенно в ходу ←→∈∉∋∌∑±²°«»∞☐☑☒.

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

Пулл реквест я бы отклонил и зарепортил отправившего, потому что автоматизированные правки - зло

Почему? Разве не важен их контент? Тебе же бот не прислал пулл-реквест добавить баннер на увеличение члена в твое приложение

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

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

Во FreeBSD было очень весело когда заменили groff (или какое там дерьмо man страницы форматирует). И везде в man’ах в ключах командной строки вместо минусов появились знаки переноса или короткие тире, уж не знаю, а в примерах кода двойные кавычки заменились на “”, одинарные на ‘’.

Потом, это спам и незаслуженное набивание статистики.

slovazap ★★★★★ ()

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

Какая бессмысленная правка. Они же рендерятся одинаково: «…», «…». Зачем лишние сущности, когда можно всё оставить в ASCII? Я бы ещё понял, если нужно было какой-то спецсимвол вставить. Но тут глупость какая-то.

i-rinat ★★★★★ ()
Ответ на: комментарий от slovazap

Значит конкретно те страницы, в которых подобное наблюдалось, были кривые (man(7) вместо mdoc(7)?). В примерах кода вообще идёт -literal (ну, или должен идти), поэтому кавычки там поменяться не могли. То же самое для флагов, те, которые были корректно описаны как допустим .Fl, так же корректно продолжают отображаться и с mandoc (новый «рендерер»).

moridin ()

Ни в коем случае не принимай. Он тебе в сорцы этих … навставлял, а это прямо противоречит концепции «в исходном коде только ASCII».

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

я лично использую юникод и в комментариях, и в исходниках, и в документации, и в коммит мессаджах, ибо так получается намного нагляднее. Особенно в ходу ←→∈∉∋∌∑±²°«»∞☐☑☒.

О, типичная emoji-макака нарисовалась.

EXL ★★★★★ ()

Я бы отказал. Пока можно обходиться ASCII - лучше им и обходиться. Здесь этот юникод не выглядит необходимым. Вот, скажем, если нужен символ °, то да.

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

Клоун, не приплетай математиков и типографов к исходным текстам программ. Вот из-за таких глупых хипстерков «на моде» как ты сорцы некоторых проектов пестрят мешаниной из →, =>, ←, <=, !=, ≠, ≤, <=, ≥, >= и т. д., потому что несколько человек (нормальных) пишут всё в проекте на ASCII, а другое сексуальное меньшинство (смузихлёбы, со смузихлёбным редактором) – покрывают всё свистопердящими стрелочками и emoji из Unicode.

И вот так и у ТС’а такая же кодовая база будет, если он этот PR примет. Через неделю он забудет про эти ellipsis’ы и в коде снова появятся ASCII-многоточия, теперь уже в перемешку с ellipsis’ами. Или кто-то (нормальный) создаст PR с нормальными многоточиями и ТС’у снова придётся всё выправлять.

Но это ещё полбеды, если скормить такие исходные тексты компиляторам с некоторых не особо популярных платформ, то они начнут пестрить ошибками типа:

 sorbolinux-exec.c:76: error: stray ‘\302’ in program
 sorbolinux-exec.c:76: error: stray ‘\244’ in program

https://stackoverflow.com/questions/19198332/compilation-error-stray-302-in-program-etc

И не будут компилироваться. Собственно вся суть хипстерков с их Unicode-свистоперделками.

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

У меня та же проблема в википедии, дебилы набивают статистику занимаясь «викификацией», игнорируя все правила. Задолбался это откатывать и отписывать мудакам на личных страницах обсуждения. Хуже всего то, что сейчас статус автопатрулируемо раздают кому попало, в том числе и этим мудакам.

WitcherGeralt ★★ ()

Мне кажется он у меня тоже был. Я отменил реквест, но он через пол года точно такой же сделал. Я вообще думал, что это бот какой-то

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

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

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

Но это ещё полбеды, если скормить такие исходные тексты компиляторам с некоторых не особо популярных платформ, то они начнут пестрить ошибками типа

Эээ... что, и в литералах тоже? Я такую ошибку видел, если прямо в программу незакавыченные русские буквы попадут, но это, вроде, другое...

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

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

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

dexpl ★★★★★ ()

А всё-таки, какие минусы использования юникода в исходниках? Ну, кроме убогих компиляторов или редакторов кода, которые от этого ломаются?

В чём минус лигатур?

Нормальный приятный код: https://www.stackage.org/haddock/lts-8.11/configuration-tools-0.2.15/src/Conf...

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

Во-первых, поздравляю — тебе почти удалось провести меня, подменив тезис. А тезис, напомню, таков: символ "…" называется многоточием, а троеточием (по аналогии с двоеточием) уместно называть символ "⫶". Техническая возможность ввода того или иного символа не связана с его наименованием вообще никак.

Во-вторых, мало ли где чего нет? Русских букв в ASCII тоже нет (man 7 ascii), так что теперь, транслитом писать? И раз уж речь зашла, расскажи о вводе многоточия (не трех точек подряд!) без XCompose(5).

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

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

Iron_Bug ★★★★★ ()