Shift3 / standards-and-practices

Standards and Practices for Bitwise Industries
https://shift3.github.io/standards-and-practices/
63 stars 41 forks source link

feature(python): Python info and Recommendations #294

Closed michaelachrisco closed 3 years ago

michaelachrisco commented 3 years ago

Changes

  1. Added Basic Description, Philosophy, Learning, Recommendations and Links to python page
  2. Added known good resources for Python

Purpose

For over 2 years, we have kept #131 open and debated. I want to at least provide some basic documentation around Python for new developers as well as seasoned developers. Discussion is welcome!

Approach

Provides a launching point that contains some known good resources for Python the language.

Learning

Most of the learning came from the original issue #131. We had a lot of good discussion around best practices and Code Quality that sadly didn't make it into the repo.

I'm making this specifically about python and not Django. Django will be another separate PR and has its own dedicated page.

References #131

michaelachrisco commented 3 years ago

Looks good!

One other good (I believe "best") practice I can think of is to use a virtual environment to isolate project dependencies. Personally, I prefer setting up a virtual environment with the built-in venv module, but I know pipenv and virtualenv are also popular options in the python community.

Thanks! Yeah I didn't add virtual environments because I knew it would be opening up a can of worms :) Im personally on team virtualenv side but I knew a lot of developers on the pipenv side.

Tempted to let this be up to the developer running the project but I know each tool has their particularities...so im unsure which is "best" for the shop at this time. What do you think? Should we add a section on virtual environments and just mention both? I suppose I could put it up to the slack channel as well.

michaelachrisco commented 3 years ago

As per Derek feedback, ill be removing the pip freeze part of the requirements.txt recommendation.