- Issue created by @godotislate
- π¦πΊAustralia acbramley
Sounds good, should we change the "should always" in the standards to "must" if we're going to enforce this?
Sounds good, should we change the "should always" in the standards to "must" if we're going to enforce this?
I don't have much opinion on this either way, but the current language is a copy of the rules for interfaces and test classes.
I added the CR β with the existing language, but I'm open to changing to must if that's preferred. If so, should the language for interface and test classes be changed as well?
- π¦πΊAustralia acbramley
Accordingly, non-traits should never have the suffix "Trait".
From the CR, this is not enforced for Interface. I tested this locally and can have a TestInterface class which isn't an interface. Do we need to add this?
- π³πΏNew Zealand quietone
I renamed an interface and trait in core and then ran the commit-code-check script. In the results was this warning.
14 | WARNING | Interface names should always have the suffix "Interface"
There was not a similar warning for the trait. It does seem a sniff change is needed.
From the CR, this is not enforced for Interface. I tested this locally and can have a TestInterface class which isn't an interface. Do we need to add this?
I think it would make sense for both interfaces and traits, so if it's not too much scope creep, I'm for adding it to interfaces as well. But it is more important for traits because we do trait detection in π Add a fallback classloader that can handle missing traits Active based on whether the what's being loaded ends in "Trait".
I made the proposed changes to Trait and Interface rules per #5 after all.
- Status changed to RTBC
19 days ago 11:45pm 26 June 2025 - π¦πΊAustralia acbramley
But it is more important for traits because we do trait detection
Ahh yes, all good with that then. I think enforcing the Interface side would be a separate issue (potentially just in coder?)