Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: pages/coding-style.html

Issue 29342128: Noissue - Add requirement for Python 3.5 compatibility to Python section of the coding style guide (Closed)
Left Patch Set: Created May 17, 2016, 5:28 p.m.
Right Patch Set: Replace Python 3.5 with Python 3.5+ Created May 19, 2016, 10:51 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « no previous file | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 title=Coding Style 1 title=Coding Style
2 2
3 3
4 <h2 id="precedence">{{s1 Precedence}}</h2> 4 <h2 id="precedence">{{s1 Precedence}}</h2>
5 5
6 <p>{{s2 The Adblock Plus coding style is based on others. Our rules (both genera l and language specific) always overrule referenced style guides. The language s pecific sections overrule the general section.}}</p> 6 <p>{{s2 The Adblock Plus coding style is based on others. Our rules (both genera l and language specific) always overrule referenced style guides. The language s pecific sections overrule the general section.}}</p>
7 7
8 <h2 id="consistency">{{s3 Consistency}}</h2> 8 <h2 id="consistency">{{s3 Consistency}}</h2>
9 9
10 <p>{{s4 Consistency is most important: Be consistent within functions, files, mo dules and projects. Making existing code conform with this style guide is fine, but it should happen in dedicated commits, preferably for a whole module or proj ect at once.}}</p> 10 <p>{{s4 Consistency is most important: Be consistent within functions, files, mo dules and projects. Making existing code conform with this style guide is fine, but it should happen in dedicated commits, preferably for a whole module or proj ect at once.}}</p>
(...skipping 26 matching lines...) Expand all
37 <li>{{html-css-hexadecimal CSS color values should be specified in hexadecimal where possible.}}</li> 37 <li>{{html-css-hexadecimal CSS color values should be specified in hexadecimal where possible.}}</li>
38 <li>{{html-css-shorthand CSS shorthand properties usage is optional.}}</li> 38 <li>{{html-css-shorthand CSS shorthand properties usage is optional.}}</li>
39 <li>{{html-css-order CSS rule declaration order should follow the <a href="htt ps://make.wordpress.org/core/handbook/best-practices/coding-standards/css/#prope rty-ordering">WordPress CSS Coding Standards</a>.}}</li> 39 <li>{{html-css-order CSS rule declaration order should follow the <a href="htt ps://make.wordpress.org/core/handbook/best-practices/coding-standards/css/#prope rty-ordering">WordPress CSS Coding Standards</a>.}}</li>
40 <li>{{html-css-units CSS number values should specify units where possible.}}< /li> 40 <li>{{html-css-units CSS number values should specify units where possible.}}< /li>
41 <li>{{html-css-leading-zero Don't omit the optional leading 0 for decimal numb ers.}}</li> 41 <li>{{html-css-leading-zero Don't omit the optional leading 0 for decimal numb ers.}}</li>
42 </ul> 42 </ul>
43 43
44 <h2 id="python">{{s19 Python}}</h2> 44 <h2 id="python">{{s19 Python}}</h2>
45 <ul> 45 <ul>
46 <li>{{python-general Follow <a href="https://www.python.org/dev/peps/pep-0008/ ">PEP-8</a> and the recommendations in the offical Python documentation.}}</li> 46 <li>{{python-general Follow <a href="https://www.python.org/dev/peps/pep-0008/ ">PEP-8</a> and the recommendations in the offical Python documentation.}}</li>
47 <li>Make the code compatible with both Python 2.7 and Python 3.5 (see <a href= "https://docs.python.org/dev/howto/pyporting.html">this guide</a>). Use <a href= "https://docs.python.org/2/library/__future__.html">__future__ imports</a> to ad dress syntactic differences but avoid <a href="https://pythonhosted.org/six/">si x</a>, <a href="http://python-future.org/compatible_idioms.html">python-future</ a>, etc. to not introduce additional dependencies.</li> 47 <li>{{python-version Make the code compatible with both Python 2.7 and Python 3.5+ (see <a href="https://docs.python.org/dev/howto/pyporting.html">this guide< /a>). Use <a href="https://docs.python.org/2/library/__future__.html">__future__ imports</a> to address syntactic differences but avoid <a href="https://pythonh osted.org/six/">six</a>, <a href="http://python-future.org/compatible_idioms.htm l">python-future</a>, etc. to not introduce additional dependencies.}}</li>
Sebastian Noack 2016/05/17 17:51:00 You forgot to use the boilerplate to make this str
Sebastian Noack 2016/05/17 17:51:00 Perhaps we shouldn't even make Python 2.7 mandator
Vasily Kuznetsov 2016/05/18 08:50:50 Oops, that's embarrassing. Fixed.
Vasily Kuznetsov 2016/05/18 08:50:50 While I support the intention of dropping Python 2
Wladimir Palant 2016/05/18 18:28:09 So what we are talking about is merely the transit
Wladimir Palant 2016/05/18 18:47:47 Matze says that there is a plan to upgrade the ser
Sebastian Noack 2016/05/18 19:06:32 Whichever Python version is available on the serve
Vasily Kuznetsov 2016/05/19 09:03:31 So we all agree that we would like to eventually m
Sebastian Noack 2016/05/19 10:10:24 Yes, Python 3.6+ will in theory be backwards compa
Vasily Kuznetsov 2016/05/19 10:52:28 Done.
Wladimir Palant 2016/05/19 11:33:26 As long as this is about automated testing - yes,
Sebastian Noack 2016/05/19 11:51:53 I agree, that when manually testing it's important
48 <li>{{python-strings Write string literals so that they match the behaviour of <a href="https://docs.python.org/2/library/functions.html#func-repr"><code><fix >repr()</fix></code></a> in Python 2, or <a href="https://docs.python.org/3/libr ary/functions.html#ascii"><code><fix>ascii()</fix></code></a> in Python 3, i.e. use single quotes except to avoid escaping of embedded quotes and escape special and non-ascii characters. For docstrings, however, follow <a href="https://www. python.org/dev/peps/pep-0257/">PEP-257</a>.}}</li> 48 <li>{{python-strings Write string literals so that they match the behaviour of <a href="https://docs.python.org/2/library/functions.html#func-repr"><code><fix >repr()</fix></code></a> in Python 2, or <a href="https://docs.python.org/3/libr ary/functions.html#ascii"><code><fix>ascii()</fix></code></a> in Python 3, i.e. use single quotes except to avoid escaping of embedded quotes and escape special and non-ascii characters. For docstrings, however, follow <a href="https://www. python.org/dev/peps/pep-0257/">PEP-257</a>.}}</li>
49 <li>{{python-prefix In modules, prefix private functions and variables with a single underscore.}}</li> 49 <li>{{python-prefix In modules, prefix private functions and variables with a single underscore.}}</li>
50 <li>{{python-concatenation Use the <code><fix>+</fix></code> operator when con catenating exactly two strings, use the <a href="https://docs.python.org/2/libra ry/stdtypes.html#str.format"><code><fix>format()</fix></code> method</a> for mor e complex string formatting, use the <a href="https://docs.python.org/2/library/ stdtypes.html#str.join"><code><fix>join()</fix></code> method</a> when concatena ting pre-existing sequences.}}</li> 50 <li>{{python-concatenation Use the <code><fix>+</fix></code> operator when con catenating exactly two strings, use the <a href="https://docs.python.org/2/libra ry/stdtypes.html#str.format"><code><fix>format()</fix></code> method</a> for mor e complex string formatting, use the <a href="https://docs.python.org/2/library/ stdtypes.html#str.join"><code><fix>join()</fix></code> method</a> when concatena ting pre-existing sequences.}}</li>
51 <li>{{python-tuple-vs-list Use tuples for data that have structure, use lists for data that have order.}}</li> 51 <li>{{python-tuple-vs-list Use tuples for data that have structure, use lists for data that have order.}}</li>
52 <li>{{python-builtins Don't override builtins except for <a href="https://docs .python.org/2/library/functions.html#non-essential-built-in-funcs">non-essential builtins</a> and <code><fix>file</fix></code> which is superfluos in modern cod e as well.}}</li> 52 <li>{{python-builtins Don't override builtins except for <a href="https://docs .python.org/2/library/functions.html#non-essential-built-in-funcs">non-essential builtins</a> and <code><fix>file</fix></code> which is superfluos in modern cod e as well.}}</li>
53 <li>{{python-map-filter Use list comprehensions or generator expressions inste ad of calling <code><fix>map()</fix></code> or <code><fix>filter()</fix></code> with a lambda function.}}</li> 53 <li>{{python-map-filter Use list comprehensions or generator expressions inste ad of calling <code><fix>map()</fix></code> or <code><fix>filter()</fix></code> with a lambda function.}}</li>
54 <li>{{python-regexp Use <a href="https://docs.python.org/2/library/re.html#re. search"><code><fix>re.search()</fix></code></a> instead of <code><fix>re.match() </fix></code> to avoid <a href="https://docs.python.org/2/library/re.html#search -vs-match">confusion</a> about implied beginning of the string but not the endin g.}}</li> 54 <li>{{python-regexp Use <a href="https://docs.python.org/2/library/re.html#re. search"><code><fix>re.search()</fix></code></a> instead of <code><fix>re.match() </fix></code> to avoid <a href="https://docs.python.org/2/library/re.html#search -vs-match">confusion</a> about implied beginning of the string but not the endin g.}}</li>
55 <li>{{python-flake8 Run <a href="https://pypi.python.org/pypi/flake8">flake8</ a> with the <a href="https://hg.adblockplus.org/codingtools/file/tip/flake8-abp" >flake8-abp</a> and <a href="https://pypi.python.org/pypi/pep8-naming">pep8-nami ng</a> extensions and fix any warning.}}</li> 55 <li>{{python-flake8 Run <a href="https://pypi.python.org/pypi/flake8">flake8</ a> with the <a href="https://hg.adblockplus.org/codingtools/file/tip/flake8-abp" >flake8-abp</a> and <a href="https://pypi.python.org/pypi/pep8-naming">pep8-nami ng</a> extensions and fix any warning.}}</li>
56 <li>{{python-tests Write tests and have them run along flake8 using <a href="h ttps://pypi.python.org/pypi/tox">tox</a>.}}</li> 56 <li>{{python-tests Write tests and have them run along flake8 using <a href="h ttps://pypi.python.org/pypi/tox">tox</a>.}}</li>
57 </ul> 57 </ul>
(...skipping 17 matching lines...) Expand all
75 <ul> 75 <ul>
76 <li>{{objc-conventions Follow Apple's <a href="https://developer.apple.com/lib rary/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Conventions/Co nventions.html">conventions</a>}}.</li> 76 <li>{{objc-conventions Follow Apple's <a href="https://developer.apple.com/lib rary/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Conventions/Co nventions.html">conventions</a>}}.</li>
77 </ul> 77 </ul>
78 78
79 <h2 id="puppet">{{s31 Puppet}}</h2> 79 <h2 id="puppet">{{s31 Puppet}}</h2>
80 <ul> 80 <ul>
81 <li>{{s32 Follow the <a href="http://docs.puppetlabs.com/guides/style_guide.ht ml">Puppet Style Guide</a>.}}</li> 81 <li>{{s32 Follow the <a href="http://docs.puppetlabs.com/guides/style_guide.ht ml">Puppet Style Guide</a>.}}</li>
82 <li>{{s33 Opening braces don't go on their own line.}}</li> 82 <li>{{s33 Opening braces don't go on their own line.}}</li>
83 <li>{{s34 Arrows should not be aligned.}}</li> 83 <li>{{s34 Arrows should not be aligned.}}</li>
84 </ul> 84 </ul>
LEFTRIGHT
« no previous file | no next file » | Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Toggle Comments ('s')

Powered by Google App Engine
This is Rietveld