You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Alan D. Cabrera" <li...@toolazydogs.com> on 2009/10/03 03:07:01 UTC
asserts
Does anyone mind if I start putting in assert statements in the code?
Regards,
Alan
Re: asserts
Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
On Oct 6, 2009, at 2:31 PM, davidb@apache.org wrote:
> 2009/10/6 Donald Woods <dw...@apache.org>
>
>>
>> Guess it depends on the method you prefer and if you want to use
>> the Java
>> exception breakpoints in Eclipse to automatically suspend on a
>> subset of the
>> exceptions. I've always felt that asserts were a hold over from C
>> and
>> shouldn't be used in Java.
>>
>> -Donald
>>
>>
> I wonder whether anyone has any success stories of using assertions
> in Java?
> I don't recall seeing them used regularly...
Actual assert, maybe not. However, I see the assert pattern used in
many projects.
Regards,
Alan
Re: asserts
Posted by da...@apache.org.
2009/10/6 Donald Woods <dw...@apache.org>
>
> Guess it depends on the method you prefer and if you want to use the Java
> exception breakpoints in Eclipse to automatically suspend on a subset of the
> exceptions. I've always felt that asserts were a hold over from C and
> shouldn't be used in Java.
>
> -Donald
>
>
I wonder whether anyone has any success stories of using assertions in Java?
I don't recall seeing them used regularly...
David
Re: asserts
Posted by Donald Woods <dw...@apache.org>.
Yep, we have several subclasses of RuntimeException that we use for the
same purpose, along with being able to pass in a message class for
translated messages templates...
Guess it depends on the method you prefer and if you want to use the
Java exception breakpoints in Eclipse to automatically suspend on a
subset of the exceptions. I've always felt that asserts were a hold
over from C and shouldn't be used in Java.
-Donald
Alan D. Cabrera wrote:
> I think that's the same thing functionality-wise since you can also
> specify messages in asserts. Another thing w/ asserts is that you can
> turn them off if you want to go into "damn the torpedoes" mode. With
> that said, I personally prefer to have our own assert class w/ a set of
> assert methods that would make it more clear to the reader what it is
> that we're concerned about.
>
>
> Regards,
> Alan
>
> On Oct 5, 2009, at 10:18 AM, Donald Woods wrote:
>
>> Why not just throw a RuntimeException, with an informative message as
>> to what the invalid value was and what was expected? We use that
>> method over asserts all the time in OpenJPA.
>>
>>
>> -Donald
>>
>>
>> Alan D. Cabrera wrote:
>>> I wouldn't say that one is better than the other. I think that both
>>> have their places.
>>> I use assertions to catch catastrophic conditions early on. Note
>>> that I use the word catastrophic. The idea is that if you get values
>>> that are known a priori to be bad and will definitely cause the
>>> server to barf it's better to complain right then and there rather
>>> than complain at some later point in time when the server tries to
>>> use them.
>>> Regards,
>>> Alan
>>> On Oct 5, 2009, at 2:09 AM, David Bosschaert wrote:
>>>> I guess I don't mind this but I wonder what you are trying to
>>>> achieve? I
>>>> mean, you have a running system and all of a sudden you get an
>>>> assertion
>>>> failure. What are you going to do?
>>>>
>>>> I always wondered whether code assertions are really the right tool
>>>> for the
>>>> job...
>>>> In my opinion it would be better to add a bunch of unit tests to the
>>>> system
>>>> and put all your assertions in there. That way your assertions are
>>>> part of
>>>> the continuous build & test cycle and when there is an assertion
>>>> failure you
>>>> will actually have the opportunity to do something about it: fix the
>>>> code
>>>> and rerun the tests...
>>>>
>>>> Best regards,
>>>>
>>>> David
>>>>
>>>> 2009/10/3 Alan D. Cabrera <li...@toolazydogs.com>
>>>>
>>>>> Does anyone mind if I start putting in assert statements in the code?
>>>>>
>>>>>
>>>>> Regards,
>>>>> Alan
>>>>>
>>>>>
>
>
Re: asserts
Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
I think that's the same thing functionality-wise since you can also
specify messages in asserts. Another thing w/ asserts is that you
can turn them off if you want to go into "damn the torpedoes" mode.
With that said, I personally prefer to have our own assert class w/ a
set of assert methods that would make it more clear to the reader what
it is that we're concerned about.
Regards,
Alan
On Oct 5, 2009, at 10:18 AM, Donald Woods wrote:
> Why not just throw a RuntimeException, with an informative message
> as to what the invalid value was and what was expected? We use that
> method over asserts all the time in OpenJPA.
>
>
> -Donald
>
>
> Alan D. Cabrera wrote:
>> I wouldn't say that one is better than the other. I think that
>> both have their places.
>> I use assertions to catch catastrophic conditions early on. Note
>> that I use the word catastrophic. The idea is that if you get
>> values that are known a priori to be bad and will definitely cause
>> the server to barf it's better to complain right then and there
>> rather than complain at some later point in time when the server
>> tries to use them.
>> Regards,
>> Alan
>> On Oct 5, 2009, at 2:09 AM, David Bosschaert wrote:
>>> I guess I don't mind this but I wonder what you are trying to
>>> achieve? I
>>> mean, you have a running system and all of a sudden you get an
>>> assertion
>>> failure. What are you going to do?
>>>
>>> I always wondered whether code assertions are really the right
>>> tool for the
>>> job...
>>> In my opinion it would be better to add a bunch of unit tests to
>>> the system
>>> and put all your assertions in there. That way your assertions are
>>> part of
>>> the continuous build & test cycle and when there is an assertion
>>> failure you
>>> will actually have the opportunity to do something about it: fix
>>> the code
>>> and rerun the tests...
>>>
>>> Best regards,
>>>
>>> David
>>>
>>> 2009/10/3 Alan D. Cabrera <li...@toolazydogs.com>
>>>
>>>> Does anyone mind if I start putting in assert statements in the
>>>> code?
>>>>
>>>>
>>>> Regards,
>>>> Alan
>>>>
>>>>
Re: asserts
Posted by Donald Woods <dw...@apache.org>.
Why not just throw a RuntimeException, with an informative message as to
what the invalid value was and what was expected? We use that method
over asserts all the time in OpenJPA.
-Donald
Alan D. Cabrera wrote:
> I wouldn't say that one is better than the other. I think that both
> have their places.
>
> I use assertions to catch catastrophic conditions early on. Note that I
> use the word catastrophic. The idea is that if you get values that are
> known a priori to be bad and will definitely cause the server to barf
> it's better to complain right then and there rather than complain at
> some later point in time when the server tries to use them.
>
>
> Regards,
> Alan
>
>
>
> On Oct 5, 2009, at 2:09 AM, David Bosschaert wrote:
>
>> I guess I don't mind this but I wonder what you are trying to achieve? I
>> mean, you have a running system and all of a sudden you get an assertion
>> failure. What are you going to do?
>>
>> I always wondered whether code assertions are really the right tool
>> for the
>> job...
>> In my opinion it would be better to add a bunch of unit tests to the
>> system
>> and put all your assertions in there. That way your assertions are
>> part of
>> the continuous build & test cycle and when there is an assertion
>> failure you
>> will actually have the opportunity to do something about it: fix the code
>> and rerun the tests...
>>
>> Best regards,
>>
>> David
>>
>> 2009/10/3 Alan D. Cabrera <li...@toolazydogs.com>
>>
>>> Does anyone mind if I start putting in assert statements in the code?
>>>
>>>
>>> Regards,
>>> Alan
>>>
>>>
>
>
Re: asserts
Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
I wouldn't say that one is better than the other. I think that both
have their places.
I use assertions to catch catastrophic conditions early on. Note that
I use the word catastrophic. The idea is that if you get values that
are known a priori to be bad and will definitely cause the server to
barf it's better to complain right then and there rather than complain
at some later point in time when the server tries to use them.
Regards,
Alan
On Oct 5, 2009, at 2:09 AM, David Bosschaert wrote:
> I guess I don't mind this but I wonder what you are trying to
> achieve? I
> mean, you have a running system and all of a sudden you get an
> assertion
> failure. What are you going to do?
>
> I always wondered whether code assertions are really the right tool
> for the
> job...
> In my opinion it would be better to add a bunch of unit tests to the
> system
> and put all your assertions in there. That way your assertions are
> part of
> the continuous build & test cycle and when there is an assertion
> failure you
> will actually have the opportunity to do something about it: fix the
> code
> and rerun the tests...
>
> Best regards,
>
> David
>
> 2009/10/3 Alan D. Cabrera <li...@toolazydogs.com>
>
>> Does anyone mind if I start putting in assert statements in the code?
>>
>>
>> Regards,
>> Alan
>>
>>
Re: asserts
Posted by David Bosschaert <da...@gmail.com>.
I guess I don't mind this but I wonder what you are trying to achieve? I
mean, you have a running system and all of a sudden you get an assertion
failure. What are you going to do?
I always wondered whether code assertions are really the right tool for the
job...
In my opinion it would be better to add a bunch of unit tests to the system
and put all your assertions in there. That way your assertions are part of
the continuous build & test cycle and when there is an assertion failure you
will actually have the opportunity to do something about it: fix the code
and rerun the tests...
Best regards,
David
2009/10/3 Alan D. Cabrera <li...@toolazydogs.com>
> Does anyone mind if I start putting in assert statements in the code?
>
>
> Regards,
> Alan
>
>