• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

what's "Assertion expressions should not contain side effects." mean?

 
air lulu
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
(empty)
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
it means that an assertion should never change the state of the application.

For example, an assertion that sets a member field of the class it's contained in has a side effect.
As the assertion will not run unless assertions are enabled this side effect cannot be relied upon to exist at runtime.

Of course you might under extremely rare conditions want this (for example if you want your class to be able to detect whether assertions are enabled or not) but I can't think of any practical reasons most people would ever encounter in real life.
 
air lulu
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
greatly thank to Wenting !!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic