Discourage use of assert
@@ -270,6 +270,14 @@ Preconditions.checkArgument(Pattern.matches(PASSWORD_REGEX, password),
See *Effective Java, 2nd Edition, Item 38*
+### Prefer explicit `if` and `throw` or `Precondition` over `assert`
+
+An `assert` statement is only executed if the JVM is started with
+`--enableassertions`. This option is typically used during testing, but not when
+running in production, which means that the semantics will differ between
+test and production environments. For this reason it's preferable to use
+explicit checks such as `if` and `throw` or `Precondition`.
+
### Be aware of the performance of string concatenation
Calculating
