AppEngine docs recommend command-line flags instead of app.yaml file elements
<p>In the <a href="https://cloud.google.com/appengine/docs/python/config/appref" rel="nofollow">app.yaml</a> documentation, Google makes the following recommendation of number of times:</p>

<blockquote>
  <p>"The recommended approach is to remove the <strong>ELEMENT NAME</strong> [e.g. <code>application</code>] from your app.yaml file and instead, use a command-line flag to specify your <strong>ELEMENT NAME</strong> [e.g. <code>application ID</code>]"</p>
</blockquote>

<p>Unfortunately, Google doesn't explain why they recommend this.</p>

<p>In my opinion, an informative app.yaml file is much more helpful than deploying an app with command-line flags. Can anyone explain why Google makes this recommendation?</p>

<p>I think mainly because they are slowly moving away from the <code>appcfg.py</code>, to start using the <a href="https://cloud.google.com/sdk/" rel="nofollow">Cloud SDK</a> instead, where <code>application</code> is not supported. You can set your default application so you won't need to use command line all the time.</p>

python google-app-engine documentation app.yaml