The software obviously did a specific check that failed, but added no context as to why. Like a boolean isValidName() function. You're already doing checks, you know why it failed, tell the user. Even in fuzzy terms is more helpful than pass/fail.
Now, if the error said something to the effect of 'name must be uppercase' and the user was confused or complaining, I'd be more inclined to agree.
If it's too big a hurdle to read the manual you'll never manage to use it for its purpose. Is this a threat to you somehow? In what way?
Do you have the same opinion about ripgrep?
$ rg 'function('
regex parse error:
function(
^
error: unclosed groupAnd that’s what people say BeeBase should do here too.
Something like:
Error: invalid name: must start with uppercase letter
Not some obtuse message that you have to go look up in a manual for no reason
It worsens the UX for no reason.
As a sibling comment said, the program already knows why the name was invalid. It would have cost nothing to surface the reason when reporting the error.
Like knowledge of the regex language, or having spent ten minutes skimming through the tutorial part of a PDF manual.
In my experience, how to use a manual is a technique more widely understood than regex. Maybe this impression is wrong, I'd welcome something tangible pointing in another direction if it is.
As a user you know the basic constraints on table names, if you don't you can't use the software.
If your users are developers, then this mindset will inevitably lead to poor developer experience (DX). That is a stance that someone could take, but their software would be then only used in spite of the DX, not because of it. In general, this would lead to a more miserable experience. I don't think that's good, even if it's just a lot of small annoyances along the way.
Here's a Dylan Beattie talk that touches upon this very thing: https://youtu.be/BIkXid_pBiY?t=629 (specific timestamp to relevant bit)
1) As a user you shouldn't be required to know weird constraints on table names.
2) As a piece of software objecting to some specific issue with a table name, YTF not mention what that issue is in the error message you throw up?