Essential Workflow Tips for Python Developers in Order of Set Up.
- Use virtual environments [1], or containers [2], make installs obvious & secure.
- Learn your text editor well.
# I use vim [3].
- Use a linter and a fixer.
# I use `flake8` [4], `mypy` [5]
# I use `black` [6]
- Use type annotations [7], [8], [9].
- Functional Programming FTW / OOP sometimes makes sense [10].
- Write clear doc strings. Documentation as code. [11]
- Test driven development [12].
- Write clear variable names.
- Use a debugger [13].
- Study algorithms [14].
- Embrace regex [15]!
- Use Github Copilot [16] and Chatgpt [17].
References
[1] https://docs.python.org/3/tutorial/venv.html
[4] https://github.com/pycqa/flake8
[5] https://github.com/python/mypy
[6] https://github.com/psf/black
[7] https://docs.python.org/3/library/typing.html
[8] https://docs.python.org/3/whatsnew/3.11.html#new-features-related-to-type-hints
[9] https://peps.python.org/pep-0585/
[10] https://github.com/readme/guides/functional-programming-basic
[11] https://numpydoc.readthedocs.io/en/latest/format.html
[12] https://en.wikipedia.org/wiki/Test-driven_development
[13] https://docs.python.org/3/library/pdb.html
[14] https://github.com/TheAlgorithms/Python
[15] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Cheatsheet