title: Common naming conventions for option type variables and methods that return them
body: <p>What are some popular ways to name option type variables and methods that return option types in order to distinguish them from their non-option counterparts?</p>
  
  <p>Suppose a DAO currently has a <code>findById</code> method that returns an instance of an entity or null, if we deprecate that method and add one that returns an option type how should we name it?</p>
  
  <p>Now suppose we are refactoring code to use this new method, we don't want to replace all references to the entity variable with the option type, how should we name the option type variable?</p>
  
  <pre class="lang-scala prettyprint-override"><code>interface Dao&lt;ENTITY ,ID&gt; {
     @Deprecated
     ENTITY findById(ID id);
  
     //What naming convention should we use?
     Optional&lt;ENTITY&gt; maybeFindById(ID id);
  }
  
  public class MyService {
      PersonDao personDao;
  
      public void changeAge(final Long id,final int age) {
  
      //final Person person = personDao.findById(id);
      //if(person !=null)
  
      //What naming convention should we use?
      final Optional&lt;Person&gt; maybePerson = personDao.maybeFindById(id);
  
     if (maybePerson.isPresent()){
         final Person person = maybePerson.get();
         person.setAge(age);
      }
  }
  </code></pre>