* Adding alternative tools for coding style Adding alternative tools for coding style * fix: changed console to shell
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Coding standards
 | |
| ---
 | |
| 
 | |
| ### Outline
 | |
| * Why coding standards?
 | |
| * Intro to PEP 8
 | |
| * Commands
 | |
| * Alternative tools
 | |
| 
 | |
| ### Why coding standards?
 | |
| The global python community is rapidly growing, and almost everyone uses python. This is where readability of code and uniform standards matter. *Anyone on the planet should be able to read your code and understand what it does*. There are a lot of aspects to understanding other's code, for example comments about what a function does, logically dividing tasks among modules and functions, good variable names, etc.
 | |
| 
 | |
| ### Intro to PEP 8
 | |
| We love sticking to conventions. The python user community has come up with a set of standards, which are now taken as convention. PEP stands for Python Enhancement Proposal. Any industry level code that you write is run through the PEP 8 checker. It is therefore a good practice to start writing docstrings for your classes and functions, and naming variables in lower case with appropriate underscores. It may be worthwhile to have a look at these standards before you begin coding.
 | |
| 
 | |
| [Here is the exhaustive link](https://www.python.org/dev/peps/pep-0008/ "PEP 8 standards")
 | |
| 
 | |
| ### Commands
 | |
| 
 | |
| Here's how you check if your python code meets he standards.
 | |
| 
 | |
| ```shell
 | |
| :~$ pip install pep8
 | |
| :~$ pep8 --first myCode.py
 | |
| ```
 | |
| 
 | |
| This will give all those lines which violate the standards, along with a short description of the fixes.
 | |
| 
 | |
| ### Alternative tools
 | |
| Beside `pep8`, there are some other tools with same functionalities:
 | |
| * [pylint](https://www.pylint.org)
 | |
| * [flake8](http://flake8.pycqa.org)
 | |
| * [pydocstyle](https://github.com/PyCQA/pydocstyle)
 | |
| Please check their usages.
 |