Merge "crafting-changes: Add some info on Optional/Nullable" into stable-3.1
diff --git a/Documentation/dev-crafting-changes.txt b/Documentation/dev-crafting-changes.txt
index 0f2a973..2bbbc45 100644
--- a/Documentation/dev-crafting-changes.txt
+++ b/Documentation/dev-crafting-changes.txt
@@ -159,6 +159,9 @@
 wrapper script. If you run your own copy, please use the same version,
 as there may be slight differences between versions.
 
+[[code-rules]]
+== Code Rules
+=== Final
 When to use `final` modifier and when not (in new code):
 
 Always:
@@ -180,6 +183,12 @@
   be removed
   * method parameters: similar to local variables
 
+=== Optional / Nullable
+Recommended:
+
+  * Optionals in arguments are discouraged (use @Nullable instead)
+  * Return types should be objects or Optionals of objects, but not null/nullable
+
 [[code-organization]]
 == Code Organization