title: Java: how to name boolean properties
body: <p>I just had a little surprise in a Webapp, where I'm using EL in .jsp pages.</p>
  
  <p>I added a boolean property and scratched my head because I had named a boolean "isDynamic", so I could write this:</p>
  
  <pre><code>&lt;c:if test="${page.isDynamic}"&gt;
     ...
  &lt;/c:if&gt;
  </code></pre>
  
  <p>Which I find easier to read than:</p>
  
  <pre><code>&lt;c:if test="${page.dynamic}"&gt;
     ...
  &lt;/c:if&gt;
  </code></pre>
  
  <p>However the .jsp failed to compile, with the error:</p>
  
  <pre><code>javax.el.PropertyNotFoundException: Property 'isDynamic' not found on type com...
  </code></pre>
  
  <p>I turns out my IDE (and it took me some time to notice it), when generating the getter, had generated a method called:</p>
  
  <pre><code>isDynamic()
  </code></pre>
  
  <p>instead of:</p>
  
  <pre><code>getIsDynamic()
  </code></pre>
  
  <p>Once I manually replaced <em>isDynamic()</em> by <em>getIsDynamic()</em> everything was working fine.</p>
  
  <p>So I've got really two questions here:</p>
  
  <ol>
  <li><p>is it bad to start a boolean property's name with "is"?</p></li>
  <li><p>wether it is bad or not, didn't IntelliJ made a mistake here by auto-generating a method named <em>isDynamic</em> instead of <em>getIsDynamic</em>?</p></li>
  </ol>