Modify grammar error

Change-Id: I98bf4e34185b747a07f91abf21e674b0e48b4389
This commit is contained in:
lvxianguo 2018-06-17 17:16:44 +08:00
parent ad3c1ced44
commit a2b1aa120d
1 changed files with 14 additions and 14 deletions

View File

@ -34,7 +34,7 @@ clear which particular module path you're trying to mock out and which one is
first in the module path map.
So only every have ONE root for your python code in a charm. e.g. put it in
``/lib`` and add that to path by ``sys.path.append(lib).``
``/lib`` and add that to path by ``sys.path.append('lib').``
Incidentally, if you **are** mocking out code in charmhelpers in you charms,
**it's probably not a good idea**. Only mock code in the target object file,
@ -53,7 +53,7 @@ Although there is no actual distinction in Python, its useful to think of
.. code:: python
if __name__ == __main__:
if __name__ == '__main__':
do_something()
I.e. the code execution of ``do_something()`` is runtime, with everything
@ -70,7 +70,7 @@ these two fragments:
import a.something
OUR_CONFIG = {
some_thing: a.something.config(a-value),
'some_thing': a.something.config('a-value'),
}
**Good:**
@ -82,7 +82,7 @@ these two fragments:
def get_our_config():
return {
some_thing: a.something.config(a-value),
'some_thing': a.something.config('a-value'),
}
If performance is an issue (i.e. multiple calls to ``config()`` are expensive)
@ -104,7 +104,7 @@ something like:
.. code:: python
with patch(a.something.config) as mock_config:
with patch('a.something.config') as mock_config:
import a.something.config
This also relies on this being the _first_ time that module has been imported.
@ -115,8 +115,8 @@ Compare this with the good example.
.. code:: python
def test_out_config(self):
with patch(module.a.something.config) as mock_config:
mock_config.return_value = thing
with patch('module.a.something.config') as mock_config:
mock_config.return_value = 'thing'
x = model.get_out_config()
This brings us to:
@ -134,7 +134,7 @@ Dont:
.. code:: python
CONFIG = {
some_key: config(something),
'some_key': config('something'),
}
This is actually a *function in disguise*.
@ -145,7 +145,7 @@ Prefer:
def get_config():
return {
some_key: config(something),
'some_key': config('something'),
}
Why?
@ -463,14 +463,14 @@ Thus dont:
.. code:: python
if x in [hello, there]:
if x in ['hello', 'there']:
do_something()
Prefer:
.. code:: python
if x in (hello, there):
if x in ('hello', 'there'):
do_something()
However, remember the caveat. A single item tuple literal has to have a
@ -478,7 +478,7 @@ trailing comma:
.. code:: python
my_tuple = (item, )
my_tuple = ('item', )
Prefer CONSTANTS to string literals or numbers
@ -496,7 +496,7 @@ Prefer:
.. code:: python
THING_KEY = thing_key
THING_KEY = 'thing_key'
db = kv()
previous_thing = db.get(THING_KEY, thing)
@ -505,7 +505,7 @@ Why?
String literals introduce a vector for mistakes. We cant use the language to
help prevent spelling mistakes, nor our tools to do autocompletion, nor use
lint to find undefined variables. This also means that if you use the same
lint to find 'undefined' variables. This also means that if you use the same
number or string literal more than once in code you should create a constant
for that value and use that in code. This includes fixed array accesses,
offsets, etc.