Используете подчеркивание в именах файлов?

Я часто использую командную строку для навигации по своим файлам, поэтому стараюсь не иметь пробелов в именах файлов. Обычно я использую подчеркивание для соединения слов, но недавно было предложено использовать тире. Есть ли недостатки в использовании символа подчеркивания в именах файлов? Стоит ли перейти на тире? В моей системе работает Xubuntu, и я почти исключительно использую оболочку bash.

Спасибо


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

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

Только по этой причине у меня возникнет соблазн использовать символы подчеркивания.

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

В остальном это зависит от личного выбора.


17

Dash не требует нажатия клавиши SHIFT, что означает, что вы печатаете быстрее. Это единственное другое преимущество, о котором я могу вспомнить выше, что предложил мистер Дженкинс.

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

Поделиться
Улучшить этот ответ
ответил 4 апр. ’11 в 17:33
  • 8
    Если бы это было так, они бы использовали вместо него vi — на одно нажатие клавиши меньше;) — Маженко 04 апр. 2011 г., 17:39
  • 5
    @Matt это псевдоним в любом случае привязан к v 😉 — Дэниел Бек ♦ 04 апр 2011, 18:24
  • +1 Для этого же причина, по которой я использую символы подчеркивания в именах, начинающихся с заглавных букв, например FOO_BAR (я не использую заглавные буквы, поэтому приятно иметь возможность просто удерживать Shift все время). — Ричард Хансен 18 нояб., 14:22
  • @DanielBeck У меня это действительно есть в моих псевдонимах bash, а также в g для git 🙂 — Ян Вархол 19 марта 2015 г. в 10:12
  • I полагаем, что vim считает два слова, разделенные дефисом, одним словом, поэтому это может быть причиной использования подчеркивания в именах файлов в качестве пользователя vim. — oddRaven 16 авг. ’16 в 11:04
добавить комментарий |

Dash не требует нажатия клавиши SHIFT, что означает, что вы печатаете быстрее. Это единственное другое преимущество, о котором я могу вспомнить выше, что предложил мистер Дженкинс.

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


7

Моя рекомендация — использовать символы подчеркивания вместо пробелов. Подчеркивание — это обычно соглашение, которое люди используют при замене пробелов, хотя я бы сказал, что дефисы тоже подходят. Но поскольку дефисы могут отображаться и другими способами, например, в словах, поставленных через дефис, у вас будет больше успеха в сохранении значения имени, используя символы подчеркивания. Например, если у вас есть файл под названием «Снимок, сделанный в Уинстон-Салеме, NC.jpg», и вы хотите преобразовать пробелы в символы подчеркивания, тогда вы можете сохранить дефис в имени и сохранить его значение.

Пробелы вызывают проблемы у людей, которые хотят использовать командную строку расширенными способами, например, в циклах for, например:

  для файла в * .mp3;  сделать mpg321 $ file -w - |  oggenc -o $ {файл %%. mp3} .ogg -;  готово  

Если какой-либо из файлов mp3, соответствующих этому подстановочному знаку, имеет пробелы в своем имени, это приведет к тому, что имя файла будет разбито на разделы, а не целое. Вы можете обойти это, изменив переменную IFS оболочки BASH или используя команду find, но это раздражает, и многие люди этого не знают, поэтому это может вызвать проблемы.

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

Поделиться
Улучшить этот ответ
ответ дан 4 апр 2011 в 18:03
  • 1
    Я полностью согласен. Хорошо построенное имя файла не требует пробелов. — DQdlM 4 апр. ’11 в 18:33
  • 4
    @KennyPeanuts — но хорошо написанная программа не забивается пробелами. — подробно 5 апр. 2011 в 17:27
  • 2
    @detly — touche ‘- DQdlM 5 апр. 2011, в 10:03
  • 1
    @detly Нет, хороший программист понимает, что должны быть ограничения в том, что вы можете и должны делать. Если вы говорите, что он не должен подавляться пробелами, тогда кто-то может сказать, что он не должен подавляться в конце строки, затем кто-то скажет, что он не должен подавляться/, тогда кто-то может сказать, что он не должен подавляться в конце файла. Есть старая поговорка «Формула неудач: старайся всем угодить». — deltaray 05 апр. 2011 г., в 15:11
  • 1
    Спецификация файловой системы говорит вам, что нужно кодировать, ни больше, ни меньше. В Ext2/3/4, например, имя файла может содержать любой символ, кроме 0 или \ `. Кодирование чего-либо меньшего нарушено дизайном. Итак, нет, он не должен подавляться пробелами, EOL, символами, отличными от ASCII, или чем-либо, кроме 0` или «. Использование библиотечных функций для управления путями к файлам — это верный вариант, потому что многие другие люди уже решили эти проблемы. — подробно 6 апр. 2011 г. в 0:55
| показать 4 дополнительных комментария

Моя рекомендация — использовать символы подчеркивания вместо пробелов. Подчеркивание — это обычно соглашение, которое люди используют при замене пробелов, хотя я бы сказал, что дефисы тоже подходят. Но поскольку дефисы могут отображаться и другими способами, например, в словах, поставленных через дефис, у вас будет больше успеха в сохранении значения имени, используя символы подчеркивания. Например, если у вас есть файл под названием «Снимок, сделанный в Уинстон-Салеме, NC.jpg», и вы хотите преобразовать пробелы в символы подчеркивания, тогда вы можете сохранить дефис в имени и сохранить его значение.

Пробелы вызывают проблемы у людей, которые хотят использовать командную строку расширенными способами, например, в циклах for, например:

  для файла в * .mp3;  сделать mpg321 $ file -w - |  oggenc -o $ {файл %%. mp3} .ogg -;  готово  

Если какой-либо из файлов mp3, соответствующих этому подстановочному знаку, имеет пробелы в своем имени, это приведет к тому, что имя файла будет разбито на разделы, а не целое. Вы можете обойти это, изменив переменную IFS оболочки BASH или используя команду find, но это раздражает, и многие люди этого не знают, поэтому это может вызвать проблемы.

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


5

Единственная причина, по которой вам следует подумать об использовании дефисов вместо подчеркиваний, — это простая читаемость. Частые подчеркивания искажают чтение, поскольку изменяют линию вашего зрения от центра оси Y к низу. Однако дефисы облегчают восприятие.

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

Поделиться
Улучшите это ответ
ответ дан 4 апр ’11 в 17:35
  • 2
    Я считаю, что основная причина удобочитаемости чисто субъективная. Я считаю, что символы подчеркивания легче читать, потому что я могу в значительной степени визуально игнорировать их — не читать их — в то время как тире мне действительно нужно их читать. — goliatone 21 авг. ’14 в 13:37
добавить комментарий |

Единственная причина, по которой вам следует подумать об использовании дефисов вместо подчеркиваний, — это простая читаемость. Частые подчеркивания искажают чтение, поскольку изменяют линию вашего зрения от центра оси Y к низу. Однако дефисы облегчают восприятие.

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


4

Я лично предпочитаю дефисы вместо подчеркивания, потому что для них не нужно удерживать клавишу Shift. Но нужно помнить, что если вы в основном выполняете кодирование на Python, а в вашем дереве кода есть файлы/каталоги с дефисом в них, и вы собираетесь использовать их как модули (укажите имя файла импорта в своем коде), тогда это вызовет ошибки. поскольку модули Python не могут содержать дефис. Конечно, есть обходные способы импорта модулей с дефисом, но я бы придерживался подчеркивания, так как он также соответствует рекомендациям PEP-8.

Поэтому для большинства своих bin/программ или псевдонимов я использую дефисы, но когда дело доходит до написания программ/модулей на Python, я использую символы подчеркивания.

Поделиться
Улучшить этот ответ
ответил 01 нояб., в 16: 57
добавить комментарий |

Лично я предпочитаю дефисы подчеркиванию, потому что для них не нужно удерживать клавишу Shift. Но нужно помнить одну вещь: если вы в основном выполняете кодирование на python — и в вашем дереве кода есть файлы/каталоги с дефисом в них, и вы собираетесь использовать их в качестве модулей (укажите имя файла импорта в своем коде), это вызовет ошибки поскольку модули python не могут содержать дефис. Конечно, есть обходные способы импорта модулей с дефисом, но я бы придерживался подчеркивания, так как он также соответствует рекомендациям PEP-8..

Поэтому для большинства своих bin/программ или псевдонимов я использую дефисы, но когда дело доходит до написания программ/модулей на Python, я использую символы подчеркивания.


2

Есть веские причины использовать дефисы в любом веб-контексте, который сопоставляется с файловой системой Unix .

  URL-адрес Что индексирует поиск seefoo-baz-bang foo baz bangfoo_baz_bang foobazbang  

Как веб-разработчик, это заставило меня использовать дефис при разделении слов.

Поделиться
Улучшите этот ответ
ответил 27 окт. в 3:48
  • 1
    Вышеупомянутый контекст, вероятно, связан с другими r things — сообщение в блоге Мэтта Каттса в 2005 году, в котором описывается алгоритмическое предпочтение Google дефисов и подчеркиваний как лучшего индикатора заполнителя пробела. — jmmygoggle 11 янв. ’19 в 22:14
добавить комментарий |

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

  URL Что индексирует поиск seefoo-baz-bang foo baz bangfoo_baz_bang foobazbang  

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

Оцените статью
Botgadget.ru
Добавить комментарий