Validate isn't a verb?

On Sun, Nov 29, 2009 at 9:06 PM, Paul Benedict <pbened...@apache.org> wrote:
> 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
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to