Я продолжаю зацикливаться на манипуляциях с путями и именами файлов, потому что у меня нет общей системы именования, которую я использую.
Мне нужно придумать стандарт именования и придерживаться его, и я хотел бы быть ясным и последовательным с другими, поэтому я открываюсь, чтобы выучить канонические ответы.
Рассмотрим эту игрушечную проблему: (пример Windows, но, надеюсь, ответ должен быть независимым от платформы)
Вам было дано полное имя папки: C:\users\OddThinking\Documents\My Source. Вы хотите пройти по папкам внизу и скомпилировать все .src в .obj.
В какой-то момент вы смотрите на следующую строку.
C:\users\OddThinking\Documents\My Source\Widget\foo.src
Итак, какие имена идентификаторов вы бы использовали для частей?
A) foo
B) foo.src
C) src
D) .src
E) C:\users\OddThinking\Documents\My Source\ - i.e. the top of the tree.
F) Widget\foo.src - i.e. the path from the top of the tree to the leaf.
G) Widget - i.e. one node of the tree.
H) C:\users\OddThinking\Documents\My Source\Widget\ - i.e. the name of the folder
I) C:\users\OddThinking\Documents\My Source\Widget\foo.src
Позвольте мне дать несколько ответов, чтобы вы начали.
А) базовое имя?
Б) имя файла? Или это имя файла? Разница важна при выборе имен идентификаторов, и я здесь никогда не согласен.
В) расширение
Г) расширение. Подождите, это то, что я назвал C. Должен ли я избегать хранения точки, и просто вставлять в случае необходимости? Что если в конкретном файле нет точки?
H) имя пути? Или подождите, это просто путь?
Я) имя файла. Подождите, это то, что я назвал C. Путь. Подождите, это то, что я назвал H. Может быть, H должно быть имя папки. Разве "папка" не является специфичным для Windows термином?