Firstly, if you find an organization scheme that works well for you, go for it!
Personally, I would not use this approach to create a hierarchy using file names, mainly because it forces each note to occupy one (and only one) spot in the tree. Suppose you wanted to create a note about a (made-up) shell called AIShell that used AI to help you with your commands. Would that go under:
Learning.AI.AIShell?
Or
Learning.Shell.AIShell?
The answer is that it probably could belong in both – and maybe should belong in both.
For this reason, I recommend using one of Obsidian’s built-in methods for organizing data like this, either index pages or tags.
My personal preference is to use index pages. So you might have a page called “Learning” with a link to “AI” and “Shell”. Then both “AI” and “Shell” could have a link to “AIShell”. You can also use the backlinks of “AIShell” to see its parent pages.
I wouldn’t organize my whole vault this way, but I do this for small parts of it — mostly within projects. I think it can be a nice way to flatten out what might otherwise be a series of folders.
The main arguments against it that come to mind (versus folders) are that it can look cluttered and lead to overly long file lists.
These are files for a story within a collection I’m writing, stored in the collection’s project folder (“1619” is the project number):