Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #3871

Re: About using assertion

From Lew <noone@lewscanon.com>
Newsgroups comp.lang.java.programmer
Subject Re: About using assertion
Date 2011-05-09 14:53 -0400
Organization albasani.net
Message-ID <iq9d6k$tc5$1@news.albasani.net> (permalink)
References <f1e4cc83-8596-4e53-bed7-34a5209fe8c4@k3g2000prl.googlegroups.com> <iq9cfo$bpa$1@dont-email.me>

Show all headers | View raw


markspace wrote:
> byhesed wrote:
>> I am reading a book about object-oriented design pattern.
>> The book, Object-Oriented Software Development Using Java 2/e by
>> Xiaoping Jia, says that...
>>
>>     Using assertions derived from the preconditions for all methods is
>> known as defensive programming.
>>     Its aim is to prevent a component from being misused.
>>
>>     Design Guideline: Use Assertions Aggressively
>>
>>     Each method should include assertions on the preconditions and
>> postconditions of the method and invariants of the class
>>
>> Do I have to always use assertion?
>> Is it better to use assertion?
>>
>> What's your idea?

> Personally, I don't use assertions very much. Instead, I rely on aggressive
> unit testing rather than aggressive use of assertions.

Different tools that do different things.  Unit tests and assertions are in no 
wise interchangeable.

> This doesn't mean Xiaoping is wrong. I should probably use assertions more
> than I do.

You certainly should use them differently from how you do.  Whether that means 
more will emerge from your corrected usage.

> My advice: Use assertions as you think best. Observe how your opinion and
> needs change over time. Should you have used them more? Or should you rely on
> them less? These things aren't fixed pieces of knowledge, like the stars in
> the night sky. The state of the art in computer science changes over time.

Actually, the simplest use of 'assert' is straightforward and by objective 
rule.  There's not a lot of "art" to it - just 'assert' your invariants.  Of 
course, that means you have to identify your invariants, but you need to do 
that anyway.  That is one part of the "state of the art in computer science" 
that most emphatically does *not* change over time.

-- 
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Find similar


Thread

About using assertion byhesed <byhesed@gmail.com> - 2011-05-09 07:36 -0700
  Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-09 08:24 -0700
    Re: About using assertion Roedy Green <see_website@mindprod.com.invalid> - 2011-05-09 09:01 -0700
      Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 12:11 -0400
        Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-09 22:17 +0200
          Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 18:49 -0400
            Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-10 07:23 +0200
            Re: About using assertion Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-05-10 06:45 -0300
              Re: About using assertion Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-10 13:29 +0000
                Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-10 11:21 -0400
                Re: About using assertion Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-10 16:01 +0000
                Re: About using assertion RedGrittyBrick <RedGrittyBrick@spamweary.invalid> - 2011-05-10 17:26 +0100
                Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-10 13:25 -0400
                Re: About using assertion Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-10 21:15 +0200
          Re: About using assertion tmcd@tmcd-p4-linux.austin.tx.us (Tim McDaniel) - 2011-05-19 00:32 -0500
            Re: About using assertion Michal Kleczek <kleku75@gmail.com> - 2011-05-19 08:34 +0200
              Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-19 08:46 -0400
                Re: About using assertion Michal Kleczek <kleku75@gmail.com> - 2011-05-19 15:16 +0200
                Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-19 09:38 -0400
                Re: About using assertion Robert Klemme <shortcutter@googlemail.com> - 2011-05-19 07:41 -0700
                Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-19 11:00 -0400
            Re: About using assertion Patricia Shanahan <pats@acm.org> - 2011-05-19 05:52 -0700
  Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 11:35 -0400
  Re: About using assertion markspace <-@.> - 2011-05-09 11:40 -0700
    Re: About using assertion Lew <noone@lewscanon.com> - 2011-05-09 14:53 -0400

csiph-web