Страницы

Поиск по вопросам

среда, 10 октября 2018 г.

Как обеспечить нормальную сортировку для папок

Предположим, есть главы с 1 по 8. Чуть позже автор добавляет условный бонус 7.5.
Теперь, я хочу делать довольно однообразное именование глав, изначальная идея "Глава 0001" к примеру. Стабильно работает (пока глав меньше 10к, да) сортировка, пока не появляются бонусные главы.
Есть у кого хорошие идеи, как можно именовать главы, чтобы бонусы (особенно добавленные задним числом), не ломали сортировку и не попадали в самый конец или куда то в середину?
ПС: особенно добавляет удовольствия то, что точка в имени сортируется по разному на win/unix/android и в различных приложениях на этих ОС.


Ответ

Когда-то подобная проблема была и в бейсике, в котором нужно было нумеровать строки. И там было простое правило - строки нумеровать десятками. И если нужно вставить строку-две, проблемы не возникает. Подобная система перекочевала и в линуксовские конфиги. Поэтому, главы нумеруем десятками (или сотнями даже), добавляя в начале нужное кол-во нулей. Если нужно вставить главу по середине - проблемы нет. Пример имен файлов.
0010-1-chapter 0020-2-chapter 0030-3-chapter 0040-4-chapter 0050-5-chapter 0060-6-chapter 0070-7-chapter 0075-7-bonus 0080-8-chapter
Этот способ хорош тем, что если даже нужно будет вставить "интро", то просто нумеруем с 0000-..., 0005-....
Зачем нужны нули в начале? В таком случае сортироваться будет везде одинаково. Проводник умеет понимать и без нулей, а другие заменители - не факт. Количество начальных нулей выбирается исходя с предполагаемого кол-ва глав.
Почему без точки? А точка не несет дополнительной информации. А вот разделитель нумерации и просто имени - нужен. Он упростит регулярки и другую рутину.

Комментариев нет:

Отправить комментарий