I am not catering to static imports. I am catering towards a consistent naming convention. If you compare our names to what exists in Spring's and Google's API, you will find that ours are not verb-ified. The whole static import discussion is just an additional benefit.
What I would like to focus on is having a common verb in front of all. Saying "notNull" is a statement, not an action. Is that really what we want to keep? Paul On Sun, Nov 29, 2009 at 9:31 PM, Henri Yandell <flame...@gmail.com> wrote: > On Sun, Nov 29, 2009 at 1:32 PM, Paul Benedict <pbened...@apache.org> wrote: >> On Sun, Nov 29, 2009 at 3:26 PM, Stephen Colebourne >> <scolebou...@btopenworld.com> wrote: >>> Paul Benedict wrote: >>>> >>>> I want to rename isTrue to validateArgument (which throws >>>> IllegalArgumentException); then also introduce validateState (which throws >>>> IllegalStateException). >>> >>> We have this in a work version of this class, I'm not sure that it doesn't >>> confuse the purpose of the class. As such, I think I'd prefer a second State >>> checking class, so this one is solely argument checking. >> >> Stephen, >> >> I did not see anything that indicates this class is purely for >> argument checking. Granted, the usage is geared towards it, but I >> don't think this class needs to be limited to such. Do you have any >> suggestions that could go into the State checking class? I think >> adding a validateState method is simple and fits in line with all >> other checking logic thus far. Often it's an API violation to call a >> method at the wrong time --- the wrong time being a failure of some >> boolean logic. >> >>>>> I also propose we rename the methods so that the verb "validate" prefixes >>>> them all (Google Collections uses "check"). Furthermore, this will better >>>> namespace the method when static imports are used: >>>> isTrue -> validateArgument / validateState >>>> notNull -> validateNotNull >>>> notEmpty -> validateNotEmpty >>>> notBlank -> validateNotBlank >>>> validIndex -> validateElementIndex >>>> noNullElements -> validateElementsNotNull >>>> >>>> I also want to introduce some new methods: >>>> validateInstanceOf >>>> validateAssignable >>> >>> I'm not sure I buy static imports here. They are no shorter than the >>> original Validate.notNull (well one character shorter). >>> >>> If we are renaming, I'd suggest >>> Validate.noNullElements -> Validate.noNulls >>> >> >> The purpose of the renaming was to give them verbs. Seeing >> "validateNotNull" is clearer than "noNulls". It's not about being >> shorter; my focus is on readability. I prefer methods do (verb) >> something. After all, JUnit "assert"s conditions, Google Collections >> "check"s conditions, can't Apache Commons "validate" conditions? > > -1 to catering to static imports. notNull (static import now) is nicer > than Validate.validateNotNull (non-static import with your > suggestion). --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org
