|
|
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
Всем привет, вопрос не совсем из области программирования, но почему-то мне кажется, что только программисты могут на него дать осмысленный ответ. Итак, например у меня на диске есть куча материалов (файлов, ну и соответственно группирующих их папок) разного ТИПА (видео, картинки, exe'шники, доки и пр.), при этом они принадлежат разным КАТЕГОРИЯМ (учеба, работа и пр.). Отсюда 2 варианта размещения: 1. В корне диска лежат папки, обозначающие категории, в каждой - набор папок, обозначающих тип (хочу найти док фильм по астрономии - захожу d:\Астрономия\Видео). 2. Соответственно, в этом варианте первичная классификация идет по типу, а не по категории, поэтому d:\Видео\Астрономия. Понятно, что когда из 2-х "осей" классификации одна явно первична, то тогда с нее и начинается это самое дерево. Но бывает, что выделить что первично - сложно, оба среза обладают одинаковым приоритетом. Также понятно, что каждый из нас на практике смешивает оба подхода: наверно у многих есть папка Video (тип), и рядом же Soft (категория). Приведу еще пример, поближе к реалиям разработки. У меня есть несколько больших проектов из разных областей. Больших - в том плане, что проект состоит не только из папки исходников, папки документации, но также к проекту имеют прямое отношение множество картинок, видео и пр. Аналогично, получается 2 варианта. Вариант 1 (первичен тип) d:\Dev\ProjectX d:\Dev\ProjectY d:\Video\ProjectX d:\Video\ProjectY Вариант 2 (первична категория) d:\Dev\ProjectX\Src d:\Dev\ProjectX\Video d:\Dev\ProjectY\Src d:\Dev\ProjectY\Video Оба варианта имеют свои недостатки, отчего и возник вопрос) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 16:18 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
TopSpace, Я бы предложил минимизировать относительные пути. То есть, если из исходников проекта 1 более вероятен переход к картинкам проекта 1 - группировать по проектам, если к исходникам проекта 2 - по типам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 16:40 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
Abstraction, Почему-то (может это и не верно) в качестве эталонной операции я рассматриваю доступ из произвольного места на диске. Т.е. парой кликов мыши мы выходим в корень, и теперь нам нужно найти определенный файл (соответственно, начинаем выстраивать путь либо от типа, либо от категории). А если говорить о Вашем варианте, то конечно, меж-проектные перемещения бывают реже, чем перемещения внутри проекта (между типами). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 18:15 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
TopSpace, Сами понимаете, что по большому счёту это вопрос приоритетов - жить можно как с одним, так и с другим. Я предлагаю в качестве приоритета группировки степень сопряжения данных - чтобы, грубо говоря, для выбора директории на первом уровне нужен был минимум информации о том, до чего мы хотим добраться. Вот у меня есть набор проектов. В каждый конкретный момент времени я работаю над каким-то одним, другие могут использоваться либо как образцы, "как там я уже похожую задачу решал?" - что бывает относительно редко; либо я включаю уже собранные библиотеки и когда-то скачанные по другим поводам сторонние бинарники. Соответственно, у меня в папке "Документы" есть папки всех проектов, плюс пара папок "библиотеки" (свои+сторонние). В папку проекта включаются жёсткие ссылки (junction) на папки нужных сторонних библиотек, создаётся папка с примерами входных данных, папки конкретных подпроектов (проектов студии/Qt/Inno Setup/whatever), папки с прочей информацией. Всё, дальше в течение работы над проектом из этой папки проекта я практически не вылезаю. Соответственно, когда мне нужна какая-то информация, она заведомо относится к какому-то проекту и я знаю, где её искать. На мой взгляд, первичное разбиение по типам оправданно только в том случае, если в конкретный отрезок времени работа по какой-то причине ведётся с данными определённого типа, но могут быть прыжки между проектами. Также следует помнить, что в Windows 7 введена механика пользовательских библиотек - вирутальных папок, объединяющих папки с тематическими данными. Если потребность в поиске по типу насущна, в "семёрке" можно создать библиотеки "Код", "Видео" и т.д. и занести в них соответствующие папки проектов. Практически я этим пользуюсь только при просмотре фильмов (т.к. реальные папки с ними разнесены по разным физическим дискам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 20:56 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
Мгне кажется наиболее логичным наличие ОБОИХ структур ОДНОВРЕМЕННО. И хардлинки. Правда, потребуется система поддержания целостности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 21:50 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
Одновременная реализация обоих подходов - наверно, самый удобный вариант. Неужели в 7-ке реально есть аналог *nix'овых файловых ссылок? Кстати, в тему, хочу поделиться еще одним наблюдением. Допустим, у меня есть куча документов (word) по какому-то крупному проекту (например, исследования). Можно нарисовать mind map (древовидная схема, http://www.edrawsoft.com/images/MindMap/mindmap.png) этого проекта, и там наглядно видно "структуру знаний". С этой схемой удобно работать, видеть общую картину, перебрасывать узлы с одного участка дерева на другой и т.п. Но всех этих прогрессивных возможностей лишена файловая система. Ну если открыть Проводник, там вроде есть древовидное представление, но ему далеко до mind map. Вобщем, файловая система, на мой взгляд, уже не справляется с задачей эргономичного (с точки зрения редактирования структуры) хранения файлов. Нашел один вариант: в том же XMind можно к любому узлу древа Mind Map'а приаттачить файл (любого типа). Вполне удобно - логическая схема проекта совмещается с файловой структурой, удобно редактировать, фактически файловая система не используется (физически все лежит в одном файле). Один минус - нет сопряжения такого хранилища с внешним миром (т.е. чтобы закачать или отправить файл, нужно использовать промежуточное сохранение в файл на диске). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 22:12 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
Я бы сделал первичной категорию, а для поиска по типу - искал по расширению. А хардлинки есть давно - ФАР про низ знает. В 7 появились библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 23:00 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
TopSpaceНеужели в 7-ке реально есть аналог *nix'овых файловых ссылок?Они есть в NTFS, начиная с версии 3,0 (Windows XP). Правда, создавать их надо с помощью спец. утилиты комстроки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 23:37 |
|
||
|
Логичная структура данных на диске
|
|||
|---|---|---|---|
|
#18+
TopSpace...вопрос не совсем.... не нашёл ни одного вопроса :) но я в последнее время юзаю ссылки. причём туда и обратно. правда у меня жёстче - не разные тематики, а разные области. например разработка софт (со всеми библиотеками, примерами, версиями, разными языками и разными уровнями изоляции) и соответствующая ей разработка хард (схемы, платы, разводка, заказы, комплектация, сроки, цены, доработки)... удачи вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 11:35 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37447084&tid=1342722]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 388ms |

| 0 / 0 |
