ืืชืืืช ืงืื Python ืืขืื, ืืืืืื ืื ืืชื ืืชืืืืงื ืืื ืืชืืจ ืฉืขืืื ืืคื ื ืื ืืคืชื. ืืื ืฉืืคืจืืืงืืื ืืืืื, ื ืืืจืืืืช ืืงืื ืืื, ืื ืฉืืงืฉื ืขื ืืืืื ืฉืืืืืช, ืคืจืฆืืช ืืืืื ืืฆืืืืจื ืืงืืืง ืืืืฆืืขืื. ืื ืืืงืื ืฉืื ืืื ื ืืชืื ืงืื ืกืืื ืขืืืจ ืคืืชืื ืืืคืื ืืืืชื ืืกืืื ืืคื. ืืืื ืืื ืขืืืจืื ืืืคืชืืื ืื ืชื ืงืื ืืื ืืืฆืืข, ืืืืคืฉืจืื ืืื ืืืืืช ืืขืืืช ืืืื ืืืืคืืช ืืืืจืื, ืืืืืจืืชืืื ืื ืืขืืืื ืืกืืืื ื ืืืืื ืืฉืื ืืืงืื ืืชืืืื ืืคืืชืื. ืขื ืืื ืฉืืืื ื ืืชืื ืกืืื ืืชืื ืืจืืืช ืืขืืืื ืฉืื, ืืชื ืืืื ืืฉืคืจ ืืช ืืืืืช ืืงืื, ืืืืขื ืืช ืืืจืืืืช ืืืื ืืืืืืื ืขืืืื ืืฉืืืืช ืขืืืื ืืืืืฆืืช ืืื PEP 8 ืืขืงืจืื ืืช ืงืืืื ื ืงืืื.
ืืืืจืืช ืกืืืื ื ืืืืืจื ืืืฆืื
Smart TS XL ืืฉืคืจ ืืช ืืืืืืช ืืฉืขืจ ืฉื Python DevOps ืขื ืืื ืงืืืืข ืคืืื ืืกืืจืง ืืืงืฉืจ ืืชื ืืืืชื ืืชืืืชื.
ืืื ืขืืฉืืื ืืชืื ืงืื ืกืืื ืืืจื ืืืืืงืช ืชืืืืจ ืคืฉืืื - ืืื ืืขืจืื ืืช ืืืจืืืืช ืืงืื, ืฉืืืืืช ืืืืืืช ืืืืฆืืขื ืืื ืจืืฆื. ืขื ืืื ืืืืื ืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ, ืืืืืืช ืืืืชืจืืช ืืืืืืจืืชืืื ืื ืืืคืืืืืืื, ืืืืื ืืืื ืขืืืจืื ืืืคืืืช ืืืืืช ืืื ืืื ืืืฉืคืจ ืืช ืืืืืช ืืชืืืืงื. ืืชืจ ืขื ืื, ืื ืืืืืื ืชืคืงืื ืืืจืืข ืืืืงืืจืช ืืืืื, ืืืืื ืคืืืขืืืืช ืคืืื ืฆืืืืืืช ืืคื ื ืฉืื ื ืืชื ืืช ืื ืืฆืื. ืืื ืื ืืชื ืขืืื ืขื ืกืงืจืืคื Python ืงืื ืื ืืืฉืื ืืงื ื ืืืื ืืืื, ืฉืืืื ื ืืชืื ืกืืื ืืืืื ืฉืืงืื ืฉืื ืืขืื, ื ืืชื ืืืจืืื ืืืืืืื. ืืืืจืื ืื, ื ืืงืืจ ืืืฆื ืืคืชืื Python ืืืืืื ืืื ืฃ ืืช ืืืืื ืืืื ืืฉืืคืืจ ืืืืฆืืขืื, ืืืืืื ืืืืืืช ืืงืื.
20 ืืื ื ืืชืื ืงืื ืกืืื ืืืื ืขืืืจ Python
Smart TS XL
Smart TS XL ืืื ืืื ื ืืชืื ืงืื ืกืืื ืืืขืจืืช ืืฉืคืขื ืืื ืื ืืื ื ืืืืืืชืืช, ืืขื ืืืฆืืขืื ืืืืืื, ืืืืืขื ืืคืืชืื Python ืืืืจื ื. ืืื ืืกืคืง ืืืืง, ืืขืืืืช ืืืืืื ืืื ืชืืจืืช ืื ืืืื ืืกืืกื ืงืื ืืืจืืืื ืฉื Python, ืื ืฉืืืคื ืืืชื ืืคืชืจืื ืืืื ื ืขืืืจ ืืจืืื ืื, ืฆืืืชื ืคืืชืื ืชืืื ื ืืืงืฆืืขื ื ืืืืืช ืกืืืืจ. ืขื ืืืืืืช ืื ืชื ืืืืืื ื ืฉืืจืืช ืฉื ืงืื Python ืืฉื ืืืช, Smart TS XL ืืืืื ืฉืืืฉืืืื ืืืฉืืจื ื ืืชื ืื ืืืจืืื, ื ืืชื ืื ืืชืืืืงื ืืชืืืืื ืืฉืืืืช ืืขืืืื ืืืืืืฆืืช ืืชืขืฉืืื.
ืืืืจืืช ืืืืจืืืืช ืืื ืชืืจืืช
- ืืืฆืข ื ืืชืื ืงืื ืกืืื ืืขืืืง ืืืื ืืืช, ืืืื ื ืงืืืืช ืชืืจืคื ืืืืกืจ ืืขืืืืช ืชืื ืฉื ืืืช.
- ืืขืื ืืกืืกื ืงืื ื ืจืืืื ืฉื Python ืืื ืืจืืื ืืืืฆืืขืื, ืื ืฉืืืคื ืืืชื ืืืชืืื ืืคืจืืืงืืื ืืงื ื ืืืื ืืจืืื ื.
- ืชืืื ืืฆืืืชืื ืืื ืืืืืื ืขื ืืื ืืชื ืืื ืืืจืฆืื ืืืงื ืขื ืฆืื ืืจืืช ืคืืชืื, ืื ืฉืืืคืฉืจ ืืืคืชืืื ืืจืืืื ืื ืชื ืงืื ืื ืืื ืืช.
ืืืงืืจืช ืืืืืช ืืืืืื ืืงืืคื ืืงืื
Smart TS XL ืืฆืืข ื ืืชืื ืงืื ืกืืื ืขืืืง, ืืืืื ืคืจืฆืืช ืืืืื, ืืคืืกื ืงืื ืื ืืขืืืื ืืืืืฉืืช ืืื ืืืช ืืคื ื ืฉืื ืืืจืืื ืืืขืืืช ืืืืฆืืจ. ืืื ืืื ืฃ ืืื ืืืืืื ืืื ืขืช ืืื ื ืืืืืืชืืช ืืื ืืกืคืง ืชืืื ืืช ืืืืืงืืช ืืืืืขืืช ืืืงืฉืจ.
- ืืืื ืืืืืืืืช ืคืืื ืืืืื ืืืื ืกืืืื ื ืืืจืงืช SQL, ืืืฉืืจืื ืืงืื ืงืฉืื ืืฉืืืืฉ ืื ืืืื ื-API.
- ืื ืชื ืกืืืื Big O ืืื ืืืืขื ืืช ืืขืืืืช ืืืืืืจืืชื ืืืฉืคืจ ืืช ืืืฆืืขื ืืืคืืืงืฆืื.
- ืืกืื ืืืืืืช ืืืืชืจืืช, ืฉืืืืฉ ืืืคืจื ืืืืืจืื ืืฉืืืจืช ืืืืืืงืืื ืืืืชืจืช, ืื ืฉืืืืื ื ืืืื ืืืืจืื ืืขืื.
- ืืืืื ืขืืืื ืืชืงื ื ืงืืืื Python ืืืื PEP 8 ืืฉืืืืช ืืืืื ืืืืืฆืืช.
ืืืกืืื ืืฉืืขืืชื ืืขืืืืืช ืืืืืจ ROI
- ืืคืืืช ืืช ืืื ืกืงืืจืช ืืงืื ื-30-40%, ืื ืฉืืืคืฉืจ ืืฆืืืชื ืืคืืชืื ืืืชืืงื ืืืืฉื ืืช ืืืงืื ืืืืื.
- ืืืืขืจ ืชืืงืื ืื ืืงืจืื ืืืืจ ืืคืจืืกื ืขื ืืื ืืืืื ืคืจืฆืืช ืืืืื ืืืืกืจ ืืขืืืืช ืืฉืื ืืืงืื ืืชืืืื ืืคืืชืื.
- ืืคืืืช ืืช ืขืืืืืช ืืชืฉืชืืช ืขื ืืื ืืืคืืืืืืฆืื ืฉื ืฉืืืืฉ ืืืืืจืื ืืฆืจืืืช ืืขืื ืืืืฉืืื Python.
ืืืืืช ืชืืื ื ืืชืืืืงื ืืฉืืคืจืื
- ืืืื ืืืืื ืชืืืช ื ืกืชืจืช, ืืืืื โโืื ืืฉืืืืฉ ืืืื ื ืงืื ืื ืืขืืืื ืฉืืืืื ืืืฉืืืื.
- ืืคืืืช ืืื ืืื ื ืขื ืืื ืืืืื ืงืื ืืืจืื ืื ืืืืฉื ืฉืืืจืฉ ืขืืืื ืืืืฉ.
- ืืฉืคืจ ืืช ืงืจืืืืช ืงืื Python ืืืช ืืืืืช ืืชืืืืงื ืขื ืืื ืืืืคืช ืฉืืืืช ืงืืืื ื ืงืืืช ืขืงืืืืช.
- ืืกืคืง ืืืืืช ืืขืฉืืื ืขื ืืกืืจืื ืืคืืจืืื ืืืืืฆืืช ืืชืืงืื ืืขืืืช ืงืื.
ื ืืืื ืืืข ืืขืืื ืืฉืืคืืจ ืคืจืืืืงืืืืืืช
- ืืืืฅ ืืช ืืืืืขื ืฉื ืืคืชืืื ืืืฉืื ืขื ืืื ืืชื ืชืืขืื ืืจืืจ ืืชืืื ืืช ืงืื ืืืืกืกืืช ืืื ื ืืืืืืชืืช.
- ืืืืืืฆืื ืฉื ืืขืืจืช ืืืข ืืื ืฆืืืชืื, ืืืคืืืชื ืืช ืืืกืชืืืืช ืขื ืืคืชืืื ืืืืจืื ืื ืืชืื ืงืื ืกืืื.
- ืืฉืคืจ ืืช ืฉืืชืืฃ ืืคืขืืื ืืื ืฆืืืชื ืคืืชืื ืืืืืื ืขื ืืืืจ ืืจืืื ืืืืืืช ื ืืชืื ืกืืื.
- ืืฉืชืืฉ ืืืืื ืืืจืืืืช ืืชืงืืืื ืืืื ืืืจืืืืช ืฆืืงืืืืืืช ืืื ืืขืืืจ ืืฆืืืชืื ืืชืขืืฃ ืืืืฆื ืขืืืื ืืืืฉ.
ืชืขืฉืืืช ืืกืืื ืืงืืืืช
Smart TS XL ืืื ืืื ืืืื ื ืืชืขืฉืืืช ืืืืจืฉืืช **ืืืืื ืืืืื, ืืืคืืืืืืฆืื ืฉื ืืืฆืืขืื ืืคืืชืื ืืืฉืืื Python ืืงื ื ืืืื ืืืื**. ืื ืืืื:
- ืฉืืจืืชืื ืคืื ื ืกืืื - ืืืืื ืขืืืื ืืืกืืจืืช ืจืืืืืืจืืืช ืืืื ืข ืฉืืืืช ืงืืืื ืืื ืื.
- ืฉืืจืืชื ืืจืืืืช - ืืื ืขื ื ืชืื ื ืืืืคืืื ืจืืืฉืื ืืืืืื ืชืืืืืช ืืืืืื ืืืืฉืืืื ืจืคืืืืื.
- ืืืจืืช ืืื ืืืืืื - ืืืืขื ืืช ืืืืฆืืขืื ืืืืืืื ืขืืืจ ืคืชืจืื ืืช ืชืืื ื ืืืืกืกื Python ืืงื ื ืืืื ืืืื.
- ืกืืื ืืืืช ืืืฉืืชืืืช - ืืืืื ืฆืืืช ืืคืจืืืืงืืื ืืืืืช ืกืืืืจ ืืืื ืข ืคืจืฆืืช ืืืืข.
- ืงืืขืื ืืืช ืืืกืืจ ืืืงืืจืื ื - ืืืื ืคืจืฆืืช ืืืืื ืืืขืจืืืช ืขืืืื ืชืฉืืืืื ืืืืฉืงื API.
ืืืฉืื ืืืื ืืืจืฆืื
- ืคืจืืกื ืชืื ืฉืขืืช ืขื **ืชืืืช ืืขืจืืช ืืื ืืืืืช**.
- ืืฉืชืื ืืฆืืจื ืืืงื ืขื **GitHub, GitLab, Bitbucket, Jenkins ืืืื CI/CD ืืืจืื**.
- ืชืืื ืื ื**ืกืจืืงืืช ืงืื ืืืืืช ืืื ืืกืจืืงืืช ืืฆืืืจืืช** ืื ืืืืจ ืจืฆืืฃ.
- ื ืืชื ืืืืืืจ ืขืืืจ **ืืืฆืืข ืืืืืืื**, ืืคืืชืช ืขืืืก ืขืืืื ืืื ื ืขืืืจ ืฆืืืชื ืคืืชืื
ืคืืื ื
Pylint ืืื ืืื ื ืืชืื ืงืื ืกืืื ืืฉืืืืฉ ื ืจืื ืฉื ืืขื ืืฉืคืจ ืืช ืืืืืช ืงืื Python ืืืช ืืืืืช ืืชืืืืงื. ืื ืขืืืจ ืืืคืชืืื ืืืืืช ืฉืืืืืช ืชืืืืจ, ืืืืืฃ ืชืงื ื ืงืืืื ืืืืืืช ืืืกืจ ืืขืืืืช ืืคื ื ืืืฆืืข. ืขื ืืื ื ืืชืื ืงืื ืืงืืจ ืืืขืืืช ืคืืื ืฆืืืืืืช ืืืื ืืฉืชื ืื ืืืืชืจืื, ืืืืื โโืฉืื ื ืขืฉื ืื ืฉืืืืฉ ืืืืืืืื ืืืจืืืื, Pylint ืืืืื ืฉืคืจืืืงืืื ืคืืขืืื ืืคื ืฉืืืืช ืขืืืื ืืืืืฆืืช ืฉื Python. ืืื ืืกืคืง ืฆืืื ืืืืืช ืืคืืจื, ืขืืืจ ืืฆืืืชืื ืืฉืคืจ ืืช ืืงืจืืืืช, ืืืคืืืช ืืืืืช ืืื ืืื ืืืฉืืืจ ืขื ืงืื ืขืงืื ืืื ืฆืืืชื ืคืืชืื ืืคืจืืืงืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืฆืข ื ืืชืื ืกืืื ืืงืืฃ ืืื ืืืืืช ืฉืืืืืช, ืฉืืืืช ืขืืืื ืจืขืืช ืืจืืืืช ืงืื.
- ืืืืฃ ืชืืืืืช ื-PEP 8, ืืืืื ืขืืฆืื ืืืื ืืขืงืืืืช.
- ืืืืฆืจ ืฆืืื ืืืืืช ืงืื ืืกืคืจื ืืื ืืขืงืื ืืืจ ืฉืืคืืจืื ืืืืจื ืืื.
- ืชืฆืืจืืช ืืืืื ืื ืืชื ืืช ืืืชืืื ืืืฉืืช ืืืคืฉืจืืช ืืฆืืืชืื ืืืชืืื ืืช ืืืืืงืืช ืืฆืจืื ืืคืจืืืงื ืืกืคืฆืืคืืื.
- ืืฉืชืื ืขื Jenkins, GitHub Actions ืืืื CI/CD ืืืจืื ืื ืืชืื ืืืืืืื.
- ืืืื ืืืืืืช ืื ืืขืืืืช, ืืืฉืืืื ืืืืชืจืื ืืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ.
ืืืืจืื ืืฉืืคืืจ
ืขืจืืช ืืืืงืื ืื ืืงืฉื ืฉื Pylint ืืืืื ืืืืฆืจ ืืกืคืจ ืจื ืฉื ืืืืจืืช, ืื ืฉืขืืื ืืืฆืืฃ ืืคืชืืื, ืืืืืื ืืคืจืืืงืืื ืืืืืื. ืืขืชืื ืงืจืืืืช ืฆืืืชืื ืฆืจืืืื ืืืืื ื ืชืฆืืจืืช ืืื ืืกื ื ืืชืจืืืช ืื ืงืจืืืืืช ืืืืคืืืช ืจืขืฉ. ืืื ืืชืืื ืืืฉืืช ืืชืืืื, ืืคืชืืื ืขืฉืืืื ืืืฉืงืืข ืืืชืจ ืืื ืืืืคืื ืืืคืจืืช ืกืื ืื ืงืืืช ืืืงืื ืืืชืืงื ืืฉืืคืืจื ืงืื ืืคืืขื.
ืืืจืืช ืฉ-Pylint ืืฆืืื ืืืืืคื ืืกืื ืื ืงืื, ืืื ืื ืืืืื ืืืื ื ืฉื ืคืืืขืืช ืืืืื. ืคืจืืืงืืื ืืืืจืฉืื ื ืืชืื ืืืืื ืืขืืืง ืืงืืงืื ืืืืื ื ืืกืคืื ืืืื ื ืืงืืคื. ืื ืืกืฃ, ืื ืืชืื ืฉื Pylint ืืืื ืืืืืช ืขืชืืจ ืืฉืืืื, ืื ืฉืืืืื ืืืื ื ืืืฆืืข ืืจืืืื ืืืชืจ ืขืืืจ ืืืฉืืืื ืืงื ื ืืืื ืืืื, ืื ืฉืืืคื ืืืชื ืืคืืืช ืืืืืืื ืขืืืจ ืคืจืืืงืืื ืขื ืืืืืฆื ืืืฆืืขืื ืืืืงืื.
ืคืืื ื
Pylint ืืื ืืื ื ืืชืื ืงืื ืกืืื ืืฉืืืืฉ ื ืจืื ืฉื ืืขื ืืฉืคืจ ืืช ืืืืืช ืงืื Python ืืืช ืืืืืช ืืชืืืืงื. ืื ืขืืืจ ืืืคืชืืื ืืืืืช ืฉืืืืืช ืชืืืืจ, ืืืืืฃ ืชืงื ื ืงืืืื ืืืืืืช ืืืกืจ ืืขืืืืช ืืคื ื ืืืฆืืข. ืขื ืืื ื ืืชืื ืงืื ืืงืืจ ืืืขืืืช ืคืืื ืฆืืืืืืช ืืืื ืืฉืชื ืื ืืืืชืจืื, ืืืืื โโืฉืื ื ืขืฉื ืื ืฉืืืืฉ ืืืืืืืื ืืืจืืืื, Pylint ืืืืื ืฉืคืจืืืงืืื ืคืืขืืื ืืคื ืฉืืืืช ืขืืืื ืืืืืฆืืช ืฉื Python. ืืื ืืกืคืง ืฆืืื ืืืืืช ืืคืืจื, ืขืืืจ ืืฆืืืชืื ืืฉืคืจ ืืช ืืงืจืืืืช, ืืืคืืืช ืืืืืช ืืื ืืื ืืืฉืืืจ ืขื ืงืื ืขืงืื ืืื ืฆืืืชื ืคืืชืื ืืคืจืืืงืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืฆืข ื ืืชืื ืกืืื ืืงืืฃ ืืื ืืืืืช ืฉืืืืืช, ืฉืืืืช ืขืืืื ืจืขืืช ืืจืืืืช ืงืื.
- ืืืืฃ ืชืืืืืช ื-PEP 8, ืืืืื ืขืืฆืื ืืืื ืืขืงืืืืช.
- ืืืืฆืจ ืฆืืื ืืืืืช ืงืื ืืกืคืจื ืืื ืืขืงืื ืืืจ ืฉืืคืืจืื ืืืืจื ืืื.
- ืชืฆืืจืืช ืืืืื ืื ืืชื ืืช ืืืชืืื ืืืฉืืช ืืืคืฉืจืืช ืืฆืืืชืื ืืืชืืื ืืช ืืืืืงืืช ืืฆืจืื ืืคืจืืืงื ืืกืคืฆืืคืืื.
- ืืฉืชืื ืขื Jenkins, GitHub Actions ืืืื CI/CD ืืืจืื ืื ืืชืื ืืืืืืื.
- ืืืื ืืืืืืช ืื ืืขืืืืช, ืืืฉืืืื ืืืืชืจืื ืืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ.
ืืืืจืื ืืฉืืคืืจ
ืขืจืืช ืืืืงืื ืื ืืงืฉื ืฉื Pylint ืืืืื ืืืืฆืจ ืืกืคืจ ืจื ืฉื ืืืืจืืช, ืื ืฉืขืืื ืืืฆืืฃ ืืคืชืืื, ืืืืืื ืืคืจืืืงืืื ืืืืืื. ืืขืชืื ืงืจืืืืช ืฆืืืชืื ืฆืจืืืื ืืืืื ื ืชืฆืืจืืช ืืื ืืกื ื ืืชืจืืืช ืื ืงืจืืืืืช ืืืืคืืืช ืจืขืฉ. ืืื ืืชืืื ืืืฉืืช ืืชืืืื, ืืคืชืืื ืขืฉืืืื ืืืฉืงืืข ืืืชืจ ืืื ืืืืคืื ืืืคืจืืช ืกืื ืื ืงืืืช ืืืงืื ืืืชืืงื ืืฉืืคืืจื ืงืื ืืคืืขื.
ืืืจืืช ืฉ-Pylint ืืฆืืื ืืืืืคื ืืกืื ืื ืงืื, ืืื ืื ืืืืื ืืืื ื ืฉื ืคืืืขืืช ืืืืื. ืคืจืืืงืืื ืืืืจืฉืื ื ืืชืื ืืืืื ืืขืืืง ืืงืืงืื ืืืืื ื ืืกืคืื ืืืื ื ืืงืืคื. ืื ืืกืฃ, ืื ืืชืื ืฉื Pylint ืืืื ืืืืืช ืขืชืืจ ืืฉืืืื, ืื ืฉืืืืื ืืืื ื ืืืฆืืข ืืจืืืื ืืืชืจ ืขืืืจ ืืืฉืืืื ืืงื ื ืืืื ืืืื, ืื ืฉืืืคื ืืืชื ืืคืืืช ืืืืืืื ืขืืืจ ืคืจืืืงืืื ืขื ืืืืืฆื ืืืฆืืขืื ืืืืงืื.
ืฉืืืจ
ืฉืืืจ ืืื ืืขืฆื ืงืื Python ืืขื ืืขืชื ืจื, ืืืืืฃ ืกืื ืื ืงืืืื ืขืงืื ืืคืจืืืงืืื. ืื ืืืื ื-linters ืืืกืืจืชืืื, Black ืืคืจืื ืืืืืืืืช ืืช ืืงืื ืืื ืืขืืื ืืืืื ืืขืืฆืื ืืืืืืจืื ืฉืื, ืืืืื ืืืืืืื ืขื ืกืื ืื ืงืื ืืชืื ืฆืืืชืื. ืขื ืืื ืืชื ืืื ื ืืืื, ืืื ืืฉืคืจ ืืช ืงืจืืืช ืืงืื ืืืช ืืืืืช ืืชืืืืงื ืชืื ืืคืืชืช ืืฆืืจื ืืขืืฆืื ืืื ื. ืืฉืืืจ ื ืืฆื ืืฉืืืืฉ ื ืจืื ืื ืืกืืืืืช ืงืื ืคืชืื ืืื ืืกืืืืืช ืืจืืื ืืืช, ืืืฆืืข ืืืคืชืืื ืืกืืก ืงืื "ืืืฉืืืจ" ืืขืืงื ืืืจ ืฉืืืืช ืขืืืื ืืืืืฆืืช ืืื ืฆืืจื ืืืชืขืจืืืช ืืื ืืช.
ืชืืื ืืช ืขืืงืจืืืช
- ืคืืจืื ืืืืืืื ืฉื ืงืื Python ืืื ืืฉืืืจ ืขื ืกืื ืื ืขืงืื.
- ืืืืฃ ืกืื ืื ืงืคืื ื ืืืขืชื ื ืฉืืคืืืช ืืช ืืฆืืจื ืืืืืืืช ืขืืฆืื ืืื ืืืช.
- ืขืืื ืืฆืืจื ืืืงื ืขื Git pre-commit hooks, CI/CD pipelines ื-IDEs ืคืืคืืืจืืื.
- ืชืืื ืืืืืฉืช ืฉืืจืืช ืืืืืืืืช ืืืืจืืื ืืืืฉ ืฉื ืงืื ืืฉืืคืืจ ืืงืจืืื.
- ืืืืฅ ืืช ืกืงืืจืืช ืืงืื ืขื ืืื ืืืืืช ืื ืืงืื ืืคื ืืืชื ืืืื ืขืืฆืื.
- ืชืืื ืืืจืกืืืช Python ืฉืื ืืช, ืื ืฉืืืคื ืืืชื ืืืื ืืืื ืขืืืจ ืคืจืืืงืืื ืืจืืื ืืืื.
ืืืืืืช ืฉืืฉ ืืงืืช ืืืฉืืื
ืืขืื ืฉืืืจ ืืืืฃ ืกืื ืื ืงืืืื ืขืงืื, ืืืชืื ืฉืืืื ืืขืืฆืื ืืืืืืจืื ืฉืื ืื ืืชืืืื ืืืขืืคืืช ืฉื ืื ืืคืชื. ืื ืืืื ืืืื ื ืืชืื ืกืืื ืืืจืื, ืืื ืืื ื ืืืฆืข ืจืืคืื ืขืืืจ ืืืืืช ืงืื, ืืืจืืืืช ืื ืืขืืืช ืืืืื, ืืืืืจ ืืฉ ืืืฉืชืืฉ ืื ืืฆื ืืืื ืืืจืื ืืื Flake8 ืื Pylint ืื ืืชืื ืืงืืฃ.
Black ืืฆืืขื ืื ืืคืฉืจืืืืช ืืชืืื ืืืฉืืช ืืืืืืืช, ืืืืืื ืฉืืื ื ืืงื ืืืืฉื ืฉื "ืืืื ืืื ืฉืืชืืื ืืืืื" ืืขืืฆืื. ืืคืชืืื ืืืืคืฉืื ืืงืจืช ืขืืฆืื ืืืืฉื ืืืชืจ ืขืฉืืืื ืืืฆืื ืืืช ืืืืืื. ืื ืืกืฃ, ืืคืจืืืงืืื ืืืืืื ืขื ืชืืจืืื ืจืืื, ืืืขืืจ ืืฉืืืจ ืขืฉืื ืืืจืืฉ ืืชืืื ืืฉืืขืืชืืช ืื ืชืงื ื ืืขืืฆืื ืืงืืืืื ืฉืื ืื ืืืกืื ืื ืืืืฃ ืฉื ืฉืืืจ.
Mypy
Mypy ืืื ืืืืง ืกืื ืกืืื ืขืืืจ Python ืฉืขืืืจ ืืืคืชืืื ืืชืคืืก ืฉืืืืืช ืืงืฉืืจืืช ืืกืื ืืคื ื ืืื ืืจืืฆื. ืขื ืืื ืืฆืืช ืืขืจืืช ืืกืืืื ืืืคืฆืืื ืืืื, Mypy ืืฉืคืจืช ืืช ืืืื ืืช ืืงืื ืืชืืืืงื, ืื ืฉืืืคื ืืช Python ืืฆืคืื ืืืชืจ ืืงื ืืืชืจ ืื ืืคืื ืืืืื. ืืื ืืฉืชืื ืืฆืืจื ืืืงื ืขื ืคืจืืืงืืื ืฉื Python, ืืืกืคืง ืืฉืื ืืืงืื ืขื ืื ืืชืืื ืคืืื ืฆืืืืืช ืฉื ืกืื, ืืจืืืื ืืื ืืกืจืื ืืกืืื ืืืืจืืช ืื ืืืงืืื. Mypy ื ืืฆื ืืฉืืืืฉ ื ืจืื ืืืืฉืืืื ืืงื ื ืืืื ืืืื ืฉืืื ืืืืืืช ืกืื ืืืื ืืช ืืื ืืขืช ืฉืืืืืช ืืื ืจืืฆื ืขืืื ืืช ืืืฉืืคืืจ ืืืืืช ืืงืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืฆืข ืืืืงืช ืกืื ืกืืืืช ืืื ืืืืืช ืื ืืชืืื ืฉื ืกืื ืืคื ื ืืื ืืจืืฆื.
- ืชืืื ืืืงืืื ืืืจืืชืืช, ืื ืฉืืืคืฉืจ ืืืคืชืืื ืืืืฅ ืจืืืื ืืกืื ืืืืจืื.
- ืืฉืคืจ ืืช ืืืืืช ืืชืืืืงื ืฉื ืืงืื ืขื ืืื ืืืืคืช ืขืงืืืืช ืกืื ืืื ืคืื ืงืฆืืืช ืืืืืืืื.
- ืืฉืชืื ืขื ืฆืื ืืจืืช CI/CD ืืื ืืชืคืืก ืฉืืืืืช ืืงืฉืืจืืช ืืกืื ืืืงืื ืืคืืชืื.
- ืชืืื ืืจืืืื ืืืืื ืื ืฉื Python ืืกืคืจืืืช ืฆื ืฉืืืฉื.
- ืขืืื ืืฆื linters ืืื Flake8 ื-Pylint ืื ืืชืื ืกืืื ืืงืืฃ.
ืฉืืงืืืื ืืืชืืจืื
ืืขืื Mypy ืืฉืคืจืช ืืช ืืืืืืช ืืงืื, ืืื ืืืจืฉืช ืืืืคืชืืื ืืืืกืืฃ ืจืืืื ืืกืื, ืื ืฉืขืืื ืืืืื ืืื ืจื, ืืืืืื ืขืืืจ ืืกืืกื ืงืื ืืืืืื ืฉืื ืชืืื ื ื ืืืงืืจ ืขื ืืขืจืืช ืกืื. ืฆืืืชืื ืฉืืื ื ืืืืจืื ืืืืงืช ืกืืืื ืขืฉืืืื ืืขืืื ืืคื ื ืขืงืืืช ืืืืื ืืขืช ืืืืืฅ Mypy, ืืืืืื ืฉืืื ืืืืคืช ืืฉืืขืช ืงืืืื ืืืืืจื ืืืชืจ.
Mypy ืืื ื ืืืื ืฉืืืืืช ืืื ืจืืฆื ืื ืืืืคืช ืืืงืื ืืกืื ืื ืงืื, ืืืืืจ ืืฉ ืืืฉืชืืฉ ืื ืืฆื linters ืืืื ืืืืื ืืกืืจืชืืื ืื ืืชืื ืืื. ืื ืืกืฃ, ืืืง ืืืกืคืจืืืช ืฉื ืฆื ืฉืืืฉื ืขืฉืืืืช ืืืืขืืจ ืืขืจืืช ืืกืื ืืื, ืื ืฉืืืืื ืืืืืงืืช ืกืืืื ืื ืฉืืืืช ืื ืื ืืืืืงืืช ืืืงืจืื ืืกืืืืื.
ืฉืืึนืึตื
Bandit ืืื ืืื ื ืืชืื ืงืื ืกืืื ืืืืงื ืืืืื ืฉืชืืื ื ืืืืืื ืขืืืจ ืืืฉืืื Python. ืืื ืกืืจืง ืงืื ืืงืืจ ืืืืชืืจ ืคืจืฆืืช ืืืืื ื ืคืืฆืืช, ืืืื ืืืฉืืจืื ืืงืืืืื, ืืืจืงืืช SQL ืืฉืืืืฉ ืื ืืืื ืืคืื ืงืฆืืืช. ืขื ืืื ืฉืืืื Bandit ืืชืืืืื ืขืืืื ืืคืืชืื, ืฆืืืชืื ืืืืืื ืืืืืช ืืืชืงื ืคืืื ืืืืื ืืืงืื, ืืืืคืืืช ืืช ืืกืืืื ืืคืจืฆืืช ืืืืื. Bandit ื ืืฆื ืืฉืืืืฉ ื ืจืื ืืคืจืืืงืืื ืจืืืฉืื ืืืืืื, ืื ืฉืืืคื ืืืชื ืืืื ืืืื ื ืขืืืจ ืืคืชืืื ืฉืืชืขืืคืื ืืืืื ืืชืืืืืช ืฉื ืืืฉืืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืื ืคืจืฆืืช ืืืืื ื ืคืืฆืืช, ืืืื ืกืืกืืืืช ืืงืืืืืช ืงืฉืื ืืฉืืืืช ืืฆืคื ื ืืืฉืืช.
- ืืืฆืข ืกืจืืงืช ืงืื ืกืืื ืืื ืืืืืช ืงืจืืืืช ืคืื ืงืฆืื ืื ืืืืืืช ืืกืืืื ื ืืืจืงื ืคืืื ืฆืืืืืื.
- ืืกืคืง ืืืืืช ืืืืื ืืคืืจืืื ืขื ืจืืืช ืืืืจื ืืื ืืชืขืืฃ ืชืืงืื ืื.
- ืืฉืชืื ืขื ืฆืื ืืจืืช CI/CD ืืื ืืืืืฃ ืืืืงืืช ืืืืื ืืคื ื ืืคืจืืกื.
- ืชืืื ืืชืฆืืจืืช ืืืืื ืืืชืืืืช ืืืฉืืช ืืื ืืืชืืื ืืช ืืืื ืืืช ืืืืืื ืืฆืจืื ืืคืจืืืงื ืืกืคืฆืืคืืื.
- ืขืืื ืืฆื linters ืืืจืื ืืืื ื ืืชืื ืกืืืืื ืืกืงืืจืช ืงืื ืืงืืคื.
ืืืืืืช ืืืชืืจืื
ืืขืื Bandit ืืขืื ืืืืชืืจ ืคืจืฆืืช ืืืืื, ืืื ืืชืืงื ืืขืืงืจ ืื ืืชืื ืกืืื ืืืื ื ืืืื ืืืืืช ืืขืืืช ืืืืื ืืืื ืจืืฆื. ืขื ืืคืชืืื ืืืฉืืื ืืืชื ืขื ืืืืงืืช ืืืืื ืืื ืืืืช ืืืืงืืจืืช ืงืื ืืื ืืืช ืืื ืืืฉืื ืืขืจืืช ืืืืื ืืกืืืืช ืืืชืจ.
ืืืคืงืืืืืืช ืฉื Bandit ืชืืืื ืืขืจืืืช ืืืืื ืืชืืืืงืื ืืืื, ืฉืขืฉืืืื ืืืจืืฉ ืขืืืื ืื ืชืืืคืื ืืื ืืืชืืืื ืขื ืืืืืื ืืชืขืืจืจืื. ืื ืืกืฃ, ืืื ืขืฉืื ืืืคืืง ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช, ืืืืืืืืช ืืคืชืืื ืืืืื ื ืืช ืืชืฆืืจื ืฉืื ืืชืืฆืืืช ืืืืืืืช. ืคืจืืืงืืื ืขื ืืจืืฉืืช ืืืืื ืืืจืืืืช ืขืฉืืืื ืืืืืงืง ืืืืื ื ืืกืคืื ืืื ืืขืืื ืืชืงื ื ืชืืืืืช.
ืืืืืืช ืืืฆืจืื
Pyright ืืื ืืืืง ืกืื ืกืืื ืืืืจ ืืืขืื ืขืืืจ Python, ืฉืคืืชื ืขื ืืื ืืืงืจืืกืืคื. ืืื ื ืืขื ืืกืคืง ืืกืงืช ืกืื ืืชืงืืืช, ืืขืืืจ ืืืคืชืืื ืืชืคืืก ืฉืืืืืช ืืงืฉืืจืืช ืืกืื ืืืงืื ืืชืืืื ืืคืืชืื. Pyright ืืฆืืขื ืืืฆืืขืื ืืขืืืื ืืืฉืืืื ืืืืืงืื ืืกืืืื ืืืจืื, ืื ืฉืืืคื ืืืชื ืืืืืืืื ืขืืืจ ืืกืืกื ืงืื ืืืืืื. ืืื ืชืืื ืืืงืืื ืืืจืืชืืช, ืืืืคืฉืจ ืืืคืชืืื ืืืืฅ ืจืืืื ืืกืื ืืงืฆื ืฉืืื. ืขื ืืื ืฉืืืื Pyright ืืืจืืืช ืืขืืืื ืฉืืื, ืฆืืืชืื ืืืืืื ืืฉืคืจ ืืช ืืืื ืืช ืืงืื, ืชืืืืงื ืืชืืืืืช ืืืจืกืืืช Python ืฉืื ืืช.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืฆืข ืืืืงืช ืกืื ืกืืื ืขื ืืกืงืช ืกืื ืืืืจ ืืืืืืงืช.
- ืชืืื ืืืงืืื ืืืจืืชืืช, ืืืืคืฉืจ ืืืืืฅ ืืฆืืืจ ืฉื ืจืืืื ืืกืื.
- ืืฉืชืื ืืฆืืจื ืืืงื ืขื Visual Studio Code ืืขืืจืืื ืืืจืื.
- ืืืชืื ืืืืืจืืช, ืื ืฉืืืคื ืืืชื ืืชืืื ืืคืจืืืงืืื ืืงื ื ืืืื ืืืื ืฉื Python.
- ืืืื ืื ืืชืืื ืืื ืกืืืื, ืืชืืืืช ืคืื ืงืฆืืืช ืฉืืืืืช ืืืจืืืื ืืื ืืกืจืื.
- ืืกืคืง ืืืืขืืช ืฉืืืื ืืคืืจืืืช ืืืฆืขืืช ืกืืืื ืืฉืืคืืจ ื ืืคืื ืืืืื.
ืืชืืจืื ืืฉืืงืืืื
ืืขืื ืฉ- Pyright ืืื ืืืืง ืกืืืื ืืฆืืื, ืืืืคืช ืืกืื ืืงืคืื ืืช ืฉืื ืขืฉืืื ืืืจืืฉ ืืืืคืชืืื ืืฉืืืจ ืงืื ืืืืคื ื ืจืื, ืืืืืื ืืคืจืืืงืืื ืขื ืืงืืื ืืื ืืืช. ืืืกืชืืืืช ืืืืืื ืฉืื ืขืฉืืื ืืืืืช ืืืืืช ืืื ืขืืืจ ืฆืืืชืื ืฉืืื ื ืืืืจืื ืจืืืื ืืกืื.
ืื ืืกืฃ, Pyright ืืชืืงืืช ืื ืืจืง ืืืืืงืช ืกืืืื ืืืื ื ืื ืชืืช ืงืื ืขืืืจ ืคืจืฆืืช ืืืืื ืื ืืขืืืช ืกืื ืื ืืืช. ืืคืชืืื ืืืืคืฉืื ื ืืชืื ืกืืื ืืงืืฃ ืขืฉืืืื ืืืืืงืง ืืืืื ืืืชื ืขื ืืืื ืืืจืื ืืื Pylint ืื Bandit ืืื ืืืืืื ืืืกืื ืืื ืืืืืืช ืืงืื.
Pytype
Pytype ืืื ืืื ืืืกืงืช ืกืื ืกืืื ืฉืคืืชื ืขื ืืื ืืืื ืืื ืชื ืืช ืงืื Python ืืื ืืืืืช ืฉืืืืืช ืกืื ืืืื ืืืจืืฉ ืืขืจืืช ืืืคืืก ืืคืืจืฉืืช. ืื ืืืคืฉืจ ืืืคืชืืื ืืฉืืืจ ืขื ืืืืคื ืืืื ืื ืฉื Python ืชืื ืชืืขืืช ืืืืืงืช ืกืืืื. ืขื ืืื ืืื ืืฃ ื ืืชืื ืงืื ืขืืืง, Pytype ืืืื ืืืกืจ ืืชืืื ืืื ืกืืืื, ืงืจืืืืช ืคืื ืงืฆืืืช ืฉืืืืืช ืืขืจืื ืืืืจื ืืืชื ืฆืคืืืื. ืืื ื ืืฆื ืืฉืืืืฉ ื ืจืื ืืคืจืืืงืืื ืืืืจืฉืื ืืืืืช ืกืื ืืืง ืืื ืฆืืจื ืืืขืจืืช ืืื ืืืช ื ืจืืืืช.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืฆืข ืืกืงืช ืกืื ืืืื ืืืจืืฉ ืจืืืื ืืคืืจืฉืื.
- ืืืื ืงืจืืืืช ืฉืืืืืช ืืคืื ืงืฆืื, ืื-ืืชืืื ืฉื ืกืื ืืืืจื ืืืืกืจ ืขืงืืืืช ืืกืื ืืฉืชื ื.
- ืืืฆืจ ืืขืจืืช ืกืื ืืืืคื ืืืืืืื ืืื ืืฉืคืจ ืืช ืชืืขืื ืืงืื.
- ืขืืื ืขื ืคืจืืืงืืื ืฉื Python ืืื ืืงืืื ืืืงืืื ืืืงืืช.
- ืืฉืชืื ืืฆืื ืืจืืช CI/CD ืืืืืืช ืกืื ืืืืืืื.
- ืชืืื ืืืืืงืช ืกืคืจืืืช ืฆื ืฉืืืฉื ืขืืืจ ืืขืืืช ืคืืื ืฆืืืืืืช ืืงืฉืืจืืช ืืกืื.
ืืืืืืช ืคืืื ืฆืืืืืืช
ืืืจืืช ืฉ-Pytype ืืกืคืงืช ืืกืงืช ืกืื ืจื ืขืืฆืื, ืืื ืขืฉืืื ืื ืชืืื ืืืกืืง ืืฆืืจื ืืืืืงืช ืกืืืื ืืงืื ืืื ืื ืืืจืื, ืื ืฉืืืืื ืืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืื ืฉืืืืืช ืฉืืืืืฆื. ืืคืชืืื ืืขืืืืื ืขื ืืื ืื ืืื ืืืื ืืืื ืืฆืืจืื ืืืฉืืื ืืืชื ืืจืืืื ืืคืืจืฉืื.
ืื ืืกืฃ, Pytype ืื ืืืฆืขืช ืืืืงืืช ืืืืื ืื ืืืืคืช ืื ืืืืช ืกืื ืื. ืืืชืื ืฉืฆืืืชืื ืืืืจืฉืื ื ืืชืื ืกืืื ืืื ืืฆืืจืื ืืฉืื ืืืชื ืขื ืืืื ืืืจืื ืืื Bandit ืขืืืจ ืืืงืืจืช ืืืืื ืื Black ืขืืืจ ืขืืฆืื ืงืื.
ืื ื ืืืืื
isort ืืื ืืื ืขืืจ ืฉื Python ืืืืืื ืืืืจืื ืืฆืืจืืช ืืืืื โโืืืืคื ืืืืืืื, ืืืืืื ืขืงืืืืช ืืงืจืืืืช ืืื ืคืจืืืงืืื. ืขื ืืื ืืจืืื ืืืืฉ ืฉื ืืืื ืืกืืจ ืืืืืจ, isort ืืืื ืฉืื ืืืื ืืืืชืจืื ืืกืื ืื ืืงืื ืืืฉืคืจ ืืช ืืืืืช ืืชืืืืงื. ืืื ืืฉืชืื ืืฆืืจื ืืืงื ืขื ืขืืจืื ืงืื, ืืขืจืืืช ืืงืจืช ืืจืกืืืช ืืฆืื ืืจืืช CI/CD, ืื ืฉืืืคื ืืืชื ืืืื ืืืื ื ืืืืืคืช ืชืงื ื ืงืืืื ื ืงืืื ืืคืจืืืงืืื ืฉืืชืืคืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืืื ืืืงืืฅ ืืืืืืืืช ืืฆืืจืืช ืืืืื โโืืคื ืืืื ืืคืจืืืงื.
- ืขืืื ืขื ืืืจืืื ืกืื ืื ืงืืืืื ืืืืคืฉืจ ืชืฆืืจืืช ืืืื ืืืชืืืืช ืืืฉืืช.
- ืืฉืชืื ืขื IDEs ืืื Visual Studio Code ื-PyCharm ืืืจืืื ืืืืื โโืืืื ืืืช.
- ืชืืื ื-pre-commit hooks ืืืืืฃ ืืืื ืืืืื โโืืคื ื ืืืฉืช ืงืื.
- ืชืืื ืืืื ื ืืชืื ืกืืื ืืืจืื ืืืื Black ื- Flake8.
- ืืฉืคืจ ืืช ืงืจืืืืช ืืงืื ืืืช ืืืืืช ืืชืืืืงื ืขื ืืื ืฉืืืจื ืขื ืืื ื ืืืืื โโืขืงืื.
ืืืืจืื ืืืืืื
ืืขืื ืฉ-isort ืืขืื ืืืื ืื ืืืื ืืืื, ืืคืื ืงืฆืืื ืืืืช ืฉืื ืืืืืืช ืืืืื ืืืจืืื ืืฆืืจืืช. ืืื ืืื ื ืืืื ืืขืืืช ืืืืืืช ืงืื ืขืืืงืืช ืืืชืจ, ืืืื ืฉืืืืืช ืืืืืงื, ืคืจืฆืืช ืืืืื ืื ืฆืืืืจื ืืงืืืง ืืืืฆืืขืื.
ืื ืืกืฃ, ืคืจืืืงืืื ืขื ืืื ื ืืืืื โโืกืคืฆืืคืืื ืขืฉืืืื ืืืจืืฉ ืชืฆืืจื ืืื ืืช ืืื ืืืืฉืจ ืืช ืืชื ืืืืช ืืจืืจืช ืืืืื ืฉื isort ืขื ืืขืืคืืช ืืฆืืืช. ืืืชืื ืฉืืืคืชืืื ืืฆืืจืื ืืืืื ื ืืช ืืืืืจืืช ืืื ืืื ืืข ืกืืจ ืืืืฉ ืื ืจืฆืื ืฉื ืืืืื โโืืกืืืื.
ืจืืืื
ืจืืืื ืืื ืืื ืื ืืชืื ืงืื ืกืืื ืืืืืืช ืืืจืืืืช ืืงืื ืืคืจืืืงืืื ืฉื Python. ืืื ืืกืคืง ืชืืื ืืช ืืืื ืืืืจืืืืช ืืฆืืงืืืืืืช, ืืื ืืงืก ืืชืืืืงื ืืืืืื ืืืืืืื, ืืขืืืจ ืืืคืชืืื ืืืขืจืื ืืช ืงืจืืืืช ืืงืื ืืืขืจืื ืืืืฉ ืืขืช ืืฆืืจื. ืจืืืื ื ืืฆื ืืฉืืืืฉ ื ืจืื ืืคืจืืืงืืื ืฉืืชืขืืคืื ืงืื ื ืงื ืื ืืชื ืืชืืืืงื ืขื ืืื ืืืืื ืคืื ืงืฆืืืช ืืืืืืืื ืืืจืืืื ืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืื ืชื ืืืจืืืืช ืฆืืงืืืืืืช ืืื ืืืืืช ืคืื ืงืฆืืืช ืืืจืืืืช ืืื.
- ืืืฉืืช ืืื ืืงืก ืชืืืืงื ืืื ืืืขืจืื ืืช ืงืจืืืืช ืืงืื ืืืืืืชื.
- ืชืืื ืืืื ืืืจืฆืื ืขื ืฆืื ืืจืืช CI/CD ืืืขืจืืช ืืืจืืืืช ืืชืืฉืืช.
- ืืืืฆืจ ืืืืืช ืืคืืจืืื ืขื ืฆืืื ื ืืืจืืืืช ืืกืคืจืืื.
- ืขืืืจ ืืฆืืืชืื ืืชืขืืฃ ืืืืฆื ืขืืืื ืืืืฉ ืขืืืจ ืงืืืืืช ืงืื ืืืืื ืืจืื.
- ืขืืื ืืฆื ืืืื ืืื Pylint ืืฉืืืจ ืืืจืืืช ืขืืืื ืืงืืคื ืฉื ื ืืชืื ืกืืื.
ืฉืืงืืืื ืืืชืืจืื
ืืขืื ืจืืืื ืืกืคืง ืืืื ืืืจืืืืช ืืฉืืืื, ืืื ืืื ื ืืฆืืข ืืืืฆืืช ืืฉืืจืืช ืืฉืืคืืจ ืืื ื ืงืื ืืืจืืืื. ืขื ืืืคืชืืื ืืคืจืฉ ืืช ืืชืืฆืืืช ืืืืืืื ืขื ืืกืืจืืืืืช ืขืืืื ืืชืืืืืช.
ืื ืืกืฃ, ืจืืืื ืืื ื ืืืฆืข ืืืืงืืช ืืืืื ืื ืืืืฃ ืชืงื ื ืกืื ืื ืงืืืื. ืืืชืื ืฉืฆืืืชืื ืืืืจืฉืื ืคืชืจืื ื ืืชืื ืกืืื ืืื ืืฆืืจืื ืืฉืื ืจืืืื ืขื linters ืืืืื ืืืืงืื ืืืืื ืืืืฉื ืืขืืืืช ืืืื ืื ืืืื ืืืืืช ืงืื.
ืึฐืึทืคึตึผืฉื
Prospector ืืื ืืื ื ืืชืื ืกืืื ืฉื Python ืืืืื ืืกืคืจ ืืื ืืจืื ืืืืฉืง ืืื, ืืืกืคืง ืืืืงืืช ืืืืืช ืืงืืคืืช ืฉื ืืงืื. ืืื ืืฉืื ืืืื ืืื Pylint, Mypy ืืืงืืื ืืื ืืืืืช ืืขืืืช ืชืืืืจ, ืืืืืฃ ืชืงื ื ืงืืืื ืืื ืชื ืืืจืืืืช. Prospector ืืคืฉื ืืช ื ืืชืื ืืงืื ืขื ืืื ืืกืคืงืช ืืืืืช ืืืืืืื, ืื ืฉืืืคื ืืืชื ืืืืืืืื ืขืืืจ ืฆืืืชืื ืืืืจืฉืื ืืื ืืจืืื ืืฉืืืจื ืขื ืืืืืช ืงืื Python.
ืชืืื ืืช ืขืืงืจืืืช
- ืืงืืฅ ืืกืคืจ ืืื ืืจืื, ืืืื Pylint, Pyflakes ืื-Cabe, ืืืื ืืื.
- ืืืฆืข ื ืืชืื ืกืืื ืขืืืง ืืืืจืืืืช ืงืื, ืชืืืืงื ืืืืืื.
- ืืืคืฉืจ ืชืฆืืจืืช ืืืืื ืืืืื ื ืืช ืืืชืืื ืืืฉืืช ืฉื ืคืื ื ืืชืื.
- ืืฉืชืื ืขื ืืจืืืืช ืขืืืื ืฉื CI/CD ืืืืืงืืช ืืืืืช ืืืืืืืืืช.
- ืืกืคืง ืืื ืืืื ืขื ืชืืื ืืช ืืืื ื ืืชืื ืกืืื ืืจืืืื.
- ืขืืืจ ืืชืงื ืืช ืฉืืืืช ืืืืืช ืืงืื ืืื ืฆืืืชืื ืืคืจืืืงืืื.
ืฉืืงืืืื ืืืชืืจืื
ืืขืื Prospector ืืฆืืขื ืืืฉืง ืืืืื ืืืกืคืจ ืืื ืืจืื, ืื ืืืื ืืืืืช ืืืจืืข ืืฉื ืื ืคื ืืจื ืฉื ืืืืจืืช ืืืฆืขืืช. ืืืชืื ืฉืืคืชืืื ืืฆืืจืื ืืืชืืื ืชืฆืืจืืช ืืื ืืื ืืข ืจืขืฉ ืืืืื ืืืืืืช.
ืื ืืกืฃ, Prospector ืืื ื ืืกืคืง ืืฉืื ืืืื ืืืช ืืชืื IDEs ืืื linters ืขืฆืืืืื. ืืื ืืชืืื ืืืืชืจ ืืฉืืืืฉ ืืกืืืืืช ืืื ืืืจืฆืื ืืชืืฉืืืช ืืื ืื ืืชืื ืงืื ืชืื ืืื ืชื ืืขื.
SonarQube (Python Plugin)
SonarQube, ืขื ืชืืกืฃ Python ืฉืื, ืืื ืืื ืจื ืขืืฆืื ืื ืืชืื ืงืื ืกืืื ืืืืืขื ืื ืืืื ืืืืืช ืงืื ืืจืืช ืืืจืืื. ืืื ืืกืคืง ื ืืชืื ืืืืื, ืชืืืืงื ืืืืื ืืช ืืขืืืง ืขืืืจ ืืืฉืืื Python. SonarQube ืชืืื ืืืืืงื ืจืฆืืคื ืฉื ืืกืืกื ืงืื ืืืฉืชืื ืืฆืืจื ืืืงื ืขื ืฆืื ืืจืืช CI/CD, ืืขืืืจ ืืฆืืืชืื ืืืืืฃ ืชืงื ื ืงืืืื ืืืืืืช ื ืงืืืืช ืชืืจืคื ืืคื ื ืืคืจืืกื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืฆืข ื ืืชืื ืงืื ืกืืื ืืื ืืืืืช ืคืจืฆืืช ืืืืื, ืืืืื ืืจืืืืช ืงืื.
- ืืกืคืง ืืื ืืืืื ืื ืืจืืื ืื ืืืืจ ืืืืืช ืงืื Python ืืืืจื ืืื.
- ืืฉืชืื ืขื Jenkins, GitHub Actions ืืืื CI/CD ืืืจืื ืื ืืชืื ืืืืืืื.
- ืชืืื ืื ืืคืจืืกืืช ืืงืืืืืช ืืื ืืคืจืืกืืช ืืืืกืกืืช ืขื ื ืืฆืืจื ืืืืฉืืช.
- ืืืืื ืขืืืื ืืชืงื ื ืงืืืื ืืชืขืฉืืื ืืฉืืืืช ืขืืืื ืืืืืฆืืช.
- ืืืืฆืจ ืืืืืช ืืคืืจืืื ืขื ืกืืืืื ืืืืจื ืืชืขืืืฃ ืืขืื ืฉื ืืขืืืช.
ืืืืืืช ืฉืืฉ ืืงืืช ืืืฉืืื
ืืขืื SonarQube ืืื ืืื ืืืง, ืืืคืื ืขืชืืจ ืืืฉืืืื ืืืื ืืืื ืืช ืืื ืืื, ืืืืืื ืืคืจืืืงืืื ืืงื ื ืืืื ืืืื ืฉื Python. ืื ืืืจืฉ ืชืฉืชืืช ืืืขืืืืช ืืคืขืื ืืืขืืืืช, ืื ืฉืืืื ืืื ื ืืืืืืื ืขืืืจ ืฆืืืชืื ืงืื ืื ืื ืกืืืจื-ืืคืื.
ืื ืืกืฃ, ืชืืื ืืช ื ืืชืื ืืืืืื ืฉื SonarQube ืืื ื ื ืจืืืืช ืืื ืืื ืืืืื ืืืืืืื. ืืืชืื ืฉืืจืืื ืื ืขื ืืจืืฉืืช ืชืืืืืช ืงืคืื ืืืช ืืฆืืจืื ืืืฉืืื ืืืชื ืืคืชืจืื ืืช ื ืืชืื ื ืืกืคืื ืืืืงืื ืืืืื.
ื ืฉืจ
Vulture ืืื ืืื ื ืืชืื ืกืืื ืงื ืืฉืงื ืฉื Python ืฉื ืืขื ืืืืืช ืงืื ืื ืืฉืืืืฉ ืืงืื ืืช ืืชืื ืคืจืืืงืืื. ืื ืขืืืจ ืืืคืชืืื ืื ืงืืช ืืช ืืกืืกื ืืงืื ืฉืืื ืขื ืืื ืืืืื ืคืื ืงืฆืืืช, ืืฉืชื ืื ืืืืืื โโืืืืชืจืื. Vulture ืฉืืืืฉื ืืืืืื ืืืืคืืืืืืฆืื ืฉื ืงืื ืืืืจ ืงืืื ืืืคืืชืช ืืืจืืืืช ืืืืชืจืช ืืืืฉืืืื ืืืืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืื ืคืื ืงืฆืืืช ืฉืืื ื ืืฉืืืืฉ, ืืฉืชื ืื ืืืืืื โโืืงืื Python.
- ืขืืืจ ืืืืขื ืืื ืงืืช ืืกืืกื ืงืื ืืืืจ ืงืืื ืขื ืืื ืืกืจืช ืงืื ืืช.
- ืงื ืืฉืงื ืืืืืจ, ืื ืฉืืืคื ืืืชื ืืืขืื ืื ืขืืืจ ืคืจืืืงืืื ืืืืืื.
- ืชืืื ืืจืฉืืืืช ืืชืขืืืืช ืื ืืชื ืืช ืืืชืืื ืืืฉืืช ืืื ืื ืืืืื ืืืงืื ืกืคืฆืืคืืื ืฉื ืืกืืก ืืงืื.
- ืืกืคืง ืืืืืช ืืคืืจืืื ืื ืืงืื ืงืื ืงื ืืขืืืื ืืืืฉ.
- ืชืืื ืืืื ื ืืชืื ืกืืื ืืืจืื ืืืจืืืช ืขืืืื ืืงืืคื.
ืืชืืจืื ืืฉืืงืืืื
ืืขืื ืฉ-Vulture ืืฆืืื ืืืืชืืจ ืงืื ืฉืืื ื ืืฉืืืืฉ, ืืื ืืื ื ืืืฆืข ื ืืชืื ืขืืืง ืขืืืจ ืฉืืืืืช ืืืืืืช, ืคืจืฆืืช ืืืืื ืื ืืขืืืช ืืืฆืืขืื. ืืคืชืืื ืฆืจืืืื ืืืฉืชืืฉ ืื ืืื ืขื linters ืืืจืื ืืื ืืงืื ืชืืื ื ืืืื ืฉื ืืืืืช ืืงืื.
ืื ืืกืฃ, Vulture ืขืฉืื ืืืฆืืจ ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืืงืื ืืฉืืืืฉ ืืื ืื, ืืืื ืคืื ืงืฆืืืช ืฉืืคื ืื ืืืืื ืืืืฆืขืืช ืืฉืชืงืคืืช ืืืืกืกืช ืืืจืืืช. ืืขืชืื ืงืจืืืืช ื ืืจืฉืช ืกืงืืจื ืืื ืืช ืืื ืืืืื ืฉืืงืื ืืืจืืฉ ืื ืืืกืจ ืืืขืืช.
PyCodeStyle
PyCodeStyle, ืฉื ืงืจื ืืขืืจ PEP8, ืืื ืืื ื ืืชืื ืกืืื ืืืชืืงื ืืืืืคืช ืื ืืืืช ืืกืื ืื Python. ืื ืขืืืจ ืืืคืชืืื ืืฉืืืจ ืขื ืขืืฆืื ืขืงืื ืขื ืคื ื ืืกืืกื ืงืื ืขื ืืื ืืืืงืช ืขืืืื ื-PEP 8, ืืืจืื ืืกืื ืื ืืช ืืจืฉืื ืฉื Python. PyCodeStyle ืืื ืงื ืืฉืงื, ืงื ืืฉืืืื ืืชืืืืื ืขืืืื ืืคืืชืื ืืืฉืืืืฉ ื ืจืื ืืฉืืืจื ืขื ืงืื Python ื ืงื ืืงืจืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืืง ืืช ืงืื Python ืืื ืื ืืืืช ืืกืื ืื PEP 8.
- ืืืื ืืืกืจ ืขืงืืืืช ืืืืื, ืืจืืื ืืืืจื ืฉืืจื.
- ืงื ืืฉืงื ืืืืืจ, ืื ืฉืืืคื ืืืชื ืืชืืื ืื ืืชืื ืืืื ืืืช ื-IDEs.
- ืชืืื ืืืคืฉืจืืืืช ืชืฆืืจื ืืื ืืืชืขืื ืืืืื ืกืื ืื ืกืคืฆืืคืืื.
- ืขืืื ืืฆืืจื ืืืงื ืขื ืืืื ืืจืืฉ ืืฆืื ืืจืืช CI/CD.
- ืืฉืชืื ืขื linters ืืืจืื ืืื Flake8 ืื ืืชืื ืงืื ืจืื ืืืชืจ.
ืืืืจืื ืืืืืื
ืืขืื PyCodeStyle ืืขืื ืืืืืคืช ืืืื ืขืืฆืื, ืืื ืืื ื ืื ืชื ืงืื ืขืืืจ ืฉืืืืืช ืืืืืืช, ืคืจืฆืืช ืืืืื ืื ืืขืืืช ืืืฆืืขืื. ืืคืชืืื ืฆืจืืืื ืืืฉืชืืฉ ืื ืืฆื ืืืื ืืืจืื ืืื Pylint ืื Bandit ืื ืืชืื ืกืืื ืืงืืฃ.
ืื ืืกืฃ, ืฆืืืชืื ืืกืืืืื ืขืฉืืืื ืืืฆืื ืืช ืืืืืื ืื ืืงืฉืื ืฉื PEP 8 ื ืืงืฉืื ืืื ืขืืืจ ืคืจืืืงืืื ืืกืืืืื. PyCodeStyle ืืืจืฉ ืชืฆืืจื ืืื ืืช ืืื ืืืชืืื ืืชืงื ื ืงืืืื ืืืชืืืื ืืืฉืืช, ืื ืฉืขืฉืื ืืืืกืืฃ ืืืจืืืืช ืืชืืืื ืืืืืจื.
PyFlakes
PyFlakes ืืื ืืื ื ืืชืื ืกืืื ืงื ืืฉืงื ืขืืืจ Python ืืืชืืงื ืืืืชืืจ ืฉืืืืืช ืืงืื ืืืื ืืืืืฃ ืืืกืืืืช ืกืื ืื. ืืื ืืืื ืืืืืจืืช ืฉืืืืืช ืชืืืืจ, ืืฉืชื ืื ืื ืืืืืจืื ืืืืืื โโืฉืืื ื ืืฉืืืืฉ, ืื ืฉืืืคื ืืืชื ืืืื ืืืื ื ืืฉืืืจื ืขื ืงืื Python ื ืงื ืื ืืื ืฉืืืืืช. PyFlakes ืืืืข ืืืืืจืืช ืืืืขืืืืช ืฉืื, ืื ืฉืืืคื ืืืชื ืืืืืืืื ืขืืืจ ืืฉืื ืืืื ืืืช ืืกืืืืืช ืคืืชืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืื ืฉืืืืืช ืชืืืืจ, ืืฉืชื ืื ืื ืืืืืจืื ืืืืืื โโืื ืืฉืืืืฉ.
- ืงื ืืฉืงื ืืืืืจ, ืืกืคืง ืชืืฆืืืช ื ืืชืื ืืืขื ืืืืืืืช.
- ืืื ื ืืืืฃ PEP 8 ืื ืืืื ืกืื ืื ืงืืืื ืืืจืื.
- ืืฉืชืื ืืงืืืช ืขื linters ืืืจืื ืืื Flake8 ืื ืืชืื ืจืื ืืืชืจ.
- ืขืืื ืืืื ืืฆืื ืืจืืช CI/CD ืืืืืื ืฉืืืืืช ืืืืืืื.
- ื ืืจืฉืช ืชืฆืืจื ืืื ืืืืืช, ืื ืฉืืงื ืขื ืืฉืืืืฉ ืืื ืคืจืืืงื.
ืืืืจืื ืืืืืื
ืืขืื ืฉ-PyFlakes ืืฆืืื ืช ืืืืชืืจ ืฉืืืืืช ืงืืืื ืืกืืกืืืช, ืืื ืืกืจื ืชืืื ืืช ื ืืชืื ืกืืื ืืชืงืืืืช ืืืื ืืืงืืจืช ืืืืื, ืคืจืืคืื ืืืฆืืขืื ืื ืืืืงืืช ืืืจืืืืช. ืืคืชืืื ืืืืคืฉืื ื ืืชืื ืงืื ืืขืืืง ืืืชืจ ืืฆืืจืื ืืืฉืืื ืืช PyFlakes ืขื ืืืื ืืืจืื ืืื Bandit ืืืืืื ืื ืจืืืื ืืืืืืช ืืืจืืืืช.
ืื ืืกืฃ, PyFlakes ืื ืืืืคืช ืืืื ืกืื ืื ืงืืืื, ืืืืืจ ืฆืืืชืื ืืืืคืฉืื ืขืงืืืืช ืืกืื ืื ืืฆืืจืื ืืืฉืชืืฉ ืื ืืฆื ืืืื ืืื Black ืื PyCodeStyle.
ืืง'ืงืืื
McCabe ืืื ืืื ื ืืชืื ืกืืื ืฉื Python ืฉืืืื ืืืจืืืืช ืฆืืงืืืืืืช, ืืขืืืจ ืืืคืชืืื ืืืืืช ืคืื ืงืฆืืืช ืืฉืืืืช ืืืจืืืืช ืืื. ืฆืืื ื ืืืจืืืืช ืืืืืื ืืฆืืื ืื ืืืืจืื ืฉืขืืืืื ืืืืืช ืงืฉืื ืืชืืืืงื, ื ืืคืื ืืืืื ืื ืืืืงื. ืขื ืืื ืฉืืืื ืฉื McCabe ืืืจืืืช ืขืืืื ืฉื ืคืืชืื, ืฆืืืชืื ืืืืืื ืืืชืืงื ืืฉืื ืื ืงืื ืืืจืื ืืื ืืฉืคืจ ืืช ืืงืจืืื ืืืชืืืืงื.
ืชืืื ืืช ืขืืงืจืืืช
- ืื ืชื ืืืจืืืืช ืฆืืงืืืืืืช ืืงืื Python.
- ืขืืืจ ืืืคืชืืื ืืืืืช ืืืฉื ืืช ืืืืฉ ืคืื ืงืฆืืืช ืืืจืืืืช ืืื.
- ืืฉืชืื ืืฆืืจื ืืืงื ืขื Flake8 ืืืืืงืืช ืืื ืืืืจืืืืช ืืฉืืืืืช.
- ืืงืฆื ืฆืืื ื ืืืจืืืืช ืืกืคืจืืื ืืคืื ืงืฆืืืช ืืฉืืืืช.
- ืงื ืืฉืงื ืืืืืจ, ืื ืฉืืืคื ืืืชื ืืชืืื ืื ืืชืื ืืืื ืืืช.
- ืกืคื ืืืจืืืืช ืื ืืชื ืื ืืืืืจื ืืืืืคืช ืฉืืืืช ืขืืืื ืืืืืฆืืช.
ืืชืืจืื ืืฉืืงืืืื
McCabe ืฉืืืืฉื ืืืืืืช ืืืจืืืืช ืืงืื, ืื ืืื ื ืืกืคืง ืื ืืืืช ืืืฆื ืืฉืืืจ ืืืืจืื ืืขืืืชืืื. ืืคืชืืื ืฆืจืืืื ืืคืจืฉ ืืช ืฆืืื ื ืืืืจืืืืช ืืืืืืื ืขื ืืกืืจืืืืืช ืขืืืื ืืืืฉ ืืขืฆืื.
ืื ืืกืฃ, McCabe ืืื ื ืื ืชื ืงืื ืขืืืจ ืฉืืืืืช ืชืืืืจ, ืคืจืฆืืช ืืืืื ืื ืืืกืจ ืืขืืืืช ืืืืฆืืขืื. ืฆืืืชืื ืืืืคืฉืื ืคืชืจืื ื ืืชืื ืกืืื ืืื ืฆืจืืืื ืืืฉืชืืฉ ื- McCabe ืืฆื ืืืื ืืื Bandit ืืืืืงืืช ืืืืื ืื PyFlakes ืืืืืืช ืชืืืืจ.
ืืืื ื
Dlint ืืื ืืื ื ืืชืื ืกืืื ืืืืงื ืืืืื ืฉืขืืืจ ืืืคืชืืื ืืืืืช ืืืฆืืฆื ืคืจืฆืืช ืืืืื ื ืคืืฆืืช ืฉื Python. ืื ืืจืืื ืืช Flake8 ืขื ืืืืงืืช ืืืืื ื ืืกืคืืช, ืื ืฉืืืคื ืืืชื ืืืื ืืขื ืขืจื ืืื ืืขืช ืคืืื ืืืืื ืืื ืืืจืงืืช SQL, ืื-ืกืจืืืืืืฆืื ืื ืืืืื ืืืืฉืืจืื ืืงืืืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืื ืคืจืฆืืช ืืืืื ืืงืื Python.
- ืืจืืื ืืช Flake8 ืขื ืืืื ืืื ืกืคืฆืืคืืื ืืืืืื.
- ืืกืื ืกืืืื ืื ืคืืื ืฆืืืืืื ืืืืจืงืช SQL ืืฉืืืืฉ ืื ืืืื ืืคืื ืงืฆืืืช.
- ืืฉืชืื ืืงืืืช ืขื ืฆืื ืืจืืช CI/CD ืื ืืชืื ืืืืื ืืืืืืื.
- ืงื ืืฉืงื ืืืขืื, ืื ืฉืืืคื ืืืชื ืืชืืื ืืกืจืืงืืช ืจืืืืืช.
- ืขืืื ืืฆื ืืื ื ืืชืื ืกืืืืื ืืืจืื ืืืืกืื ืืืืื ืืงืืฃ.
ืฉืืงืืืื ืืืชืืจืื
ืืขืื ืฉ-Dlint ืืฆืืื ืื ืืชืื ืกืืื ืืืืงื ืืืืื, ืืื ืืื ื ืืกืคืง ืชืืื ื ืืืื ืฉื ืืืืืช ืงืื, ืชืืืืงื ืื ืืืจืืืืช. ืขื ืืฆืืืชืื ืืืฉืชืืฉ ืื ืืฉืืืื ืขื ืืืื ืืืจืื ืฉื ืืื ืื ืืชืื ืงืื ืืืืฉื ืืขืืืืช ืืืื.
ืืืคืงืืืืืืช ืฉื Dlint ืชืืืื ืืืืงื ืืืืื ืืืชืขืืื ืื ืืืืคื ืงืืืข. ืืื ืขืืืื ืื ืชืืืคืื, ืืื ืขืืื ืืืืืฉื ืืืืืื ืืืืื ืืืืื ืืชืขืืจืจืื, ืื ืฉืืืจืืฉ ืืืืคืชืืื ืืืืฉืืจ ืืขืืืื ืื ืืืื ืฉืืืืช ืืืืืื ืืืืืืช ืืืืชืจ.
Wemake Python Styleguide
Wemake Python Styleguide ืืื ืืื ืืื ืืขืชื ื ืืืืืฃ ืชืงื ื ืงืืืื ืงืคืื ืืื ืขืืืจ ืคืจืืืงืืื ืฉื Python. ืืื ืืจืืื ืืช Flake8 ืขื ืืืืื ื ืืกืคืื ืืชืืืืงื, ืืืจืืืืช ืืฉืืืืช ืขืืืื ืืืืืฆืืช, ืืขืืืจ ืืฆืืืชืื ืืฉืืืจ ืขื ืงืื ืืืืืชื, ืงืจืื ืืขืงืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืจืืื ืืช Flake8 ืขื ืืืืงืืช ืืืจืืืืช ืืชืืืืงื ื ืืกืคืืช.
- ืืืื ืจืืืืช ืงืื, ืื ืื-ืืคืืกืื ืืงืื ืื ืืืืื.
- ืืขืืื ืฉืืืืช ืขืืืื ืืืืืฆืืช ืืืชืืืช ืงืื ื ืงื ืื ืืชื ืืชืืืืงื.
- ืชืืื ืืืื ืืืจืฆืื ืขื ืฆืื ืืจืืช CI/CD ืืืขืจืืืช ืืงืจืช ืืจืกืืืช.
- ืืกืคืง ืืืืืช ืืคืืจืืื ืขื ืืกืืจืื ืืืฆืขืืช ืืฉืืคืืจ.
- ืขืจืืืช ืืืืื ืื ืืชื ืืช ืืืชืืื ืืืฉืืช ืืืคืฉืจืืช ืืฆืืืชืื ืืืชืืื ืืช ืืืื ืืฆืจืืืื.
ืืืืืืช ืฉืืฉ ืืงืืช ืืืฉืืื
ืืืืืื ืืืืืืจืื ืฉื Wemake Python Styleguide ืืืืืื ืืืจืื ืืืกืคืจ ืืืื ืฉื ืืืืจืืช, ืื ืฉืขืืื ืืืจืืฉ ืืชืืืืช ืชืฆืืจื ืืื ืืื ืืข ืืคืชืืื ืืืจืืขืื. ืงืืืฆืืช ืฉืื ืืืืจืืช ืืช ืืืืกืืืืช ืฉืื ืขืฉืืืืช ืืืืืงืง ืืืื ืืกืชืืืืช.
ืื ืืกืฃ, ืืืจืืช ืฉืืื ืืฉืคืจ ืืช ืืื ื ืืงืื ืืืช ืงืจืืืืชื, ืืื ืืื ื ืืกืคืง ื ืืชืื ืืืืื ืืขืืืง. ืขืืืจ ืคืจืืืงืืื ืืืืงืื ืืืืื, ืืฉ ืืืฉืชืืฉ ืื ืืฆื ืืืื ืืื Bandit ืื Dlint.
ืึฐืืึผืจึธื
Pyre ืืื ืืืืง ืกืื ืกืืื ืืืืจ ืื ืืชื ืืืจืืื ืขืืืจ Python, ืฉืคืืชื ืขื ืืื Meta (ืืฉืขืืจ ืคืืืกืืืง). ืื ืขืืืจ ืืืคืชืืื ืืชืคืืก ืฉืืืืืช ืืงืฉืืจืืช ืืกืื ืืืงืื, ืืฉืคืจ ืืช ืืืืืืช ืืงืื ืืชืืืืงื. Pyre ืืืชืื ืืืืฆืืขืื, ืื ืฉืืืคื ืืืชื ืืืืืจื ืืฆืืื ืช ืขืืืจ ืืืฉืืื Python ืืงื ื ืืืื ืืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืฆืข ืืืืงืช ืกืื ืกืืื ืืืืจ ืืืืืืง.
- ืืืื ืื ืืชืืื ืืื ืกืืืื, ืืจืืืื ืืื ืืกืจืื ืืกืืื ืืืืจื ืฉืืืืื.
- ืชืืื ืืืงืืื ืืืจืืชืืช ืืืืืืฅ ืืฆืืืจ.
- ืืืชืื ืืคืจืืืงืืื ืืงื ื ืืืื ืืืื ืขื ืืกืืกื ืงืื ื ืจืืืื.
- ืืกืคืง ืืฉืื ืืืื ืืืช ืืชืื ืกืืืืืช ืคืืชืื.
- ืืฉืชืื ืขื ืืจืืืืช ืขืืืื ืฉื CI/CD ืืืืืืช ืกืื ืืชืืฉื.
ืืชืืจืื ืืฉืืงืืืื
ืืขืื ืฉ-Pyre ืืขืืื ืืืื, ืืื ืืืจืฉืช ืืืืคืชืืื ืืืืกืืฃ ืืขืจืืช ืกืื, ืื ืฉืขืฉืื ืืฆืจืื ืืื ืจื ืขืืืจ ืคืจืืืงืืื ืงืืืืื ืืื ืจืืืื ืืกืื. ืืืืืคื ืืงืคืื ืืช ืฉืื ืขืฉืืื ืืืจืืฉ ืืืืฆื ืขืืืื ื ืืกืคืื.
Pyre ืืชืืงืืช ืื ืืจืง ืืืืืงืช ืกืืืื ืืืื ื ืื ืชืืช ืคืจืฆืืช ืืืืื ืื ืืืืคืช ืืืื ืกืื ืื. ืื ืฆืจืื ืืืืืช ืืฉืืื ืขื linters ืืืื ืืืืื ืขืืืจ ืืจืืืช ืขืืืื ื ืืชืื ืกืืื ืืงืืฃ ืืืชืจ.
Autoflake
Autoflake ืืื ืืื ืงื ืืฉืงื ืืืกืจื ืืืืืืืืช ืฉื ืืืืื โโืืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ ืืงืื Python. ืื ืขืืืจ ืืืืขื ืืกืืกื ืงืื ืขื ืืื ื ืืงืื ืืืื ืืื ืืืืชืจืื, ืฉืืคืืจ ืืืืืช ืืชืืืืงื ืืืงืจืืื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืกืืจ ืืืืืืืืช ืืืื ืืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ.
- ืืฉืคืจ ืืช ื ืืงืืื ืืงืื ืืืื ืืฉื ืืช ืืช ืืืืืืื.
- ืขืืื ืืืื ืขื ืคืืจืืืื ืืื Black ื- isort.
- ืงื ืืฉืงื ืืืขืื ืื ืืงืื ืงืื ืืืืจ.
- ืชืืื ืืืืื ืืจืืฉ ืืืืืคื ืืืืืืืืช.
- ืืฉืชืื ืขื ืฆืื ืืจืืช CI/CD ืื ืืงืื ืขืงืื.
ืืืืจืื ืืืืืื
Autoflake ืืชืืงื ืืืกืจืช ืืืื ืืื ืฉืืื ื ืืฉืืืืฉ ืื ืืื ื ืืืฆืข ืืืืืช ืชืืืืจ, ืืืืงืืช ืืืืื ืื ื ืืชืื ืืืจืืืืช. ืืคืชืืื ืฆืจืืืื ืืืฉืชืืฉ ืื ืืฆื linters ืืกืืจืชืืื.
ืืืงืจืื ืืกืืืืื, ืืื ืขืฉืื ืืืกืืจ ืืืื ืฉืืืื ืืชืืืืกืื ืืืืคื ืืื ืื, ืืืืืื ืืืืงื ืืื ืืช ืืื ืืืืืื ืืช ื ืืื ืืชื.
Bento
Bento ืืื ืืื ื ืืชืื ืกืืื ืงื ืืฉืงื ืืืืืงื ืืืืื ืฉื ืืขื ืืขืืืจ ืืืคืชืืื ืืืืืช ื ืงืืืืช ืชืืจืคื ืืืขืืืช ืืืืืช ืงืื ืืคืจืืืงืืื ืฉื Python. ืืื ืืกืคืง ืืฉืื ืืืืจ ืขื ืกืืืื ื ืืืืื, ืฉืืืืช ืขืืืื ืืืืืฆืืช ืืืืืืช ืืชืืืืงื, ืืฉืชืื ืืฆืืจื ืืืงื ืืชืืืืื ืขืืืื ืืืืจื ืืื ืฉื ืคืืชืื. Bento ืืืืืืื ืขืืืจ ืฆืืืชืื ืฉืืชืขืืคืื ืืืืื ืืืขืืืืช, ืืืืืืืื ืฉืืขืืืช ืคืืื ืฆืืืืืืช ืืืืืืช ืืฉืื ืืืงืื ืืืืืืจ ืืืืื ืฉื ืคืืชืื ืืชืืื ื.
ืชืืื ืืช ืขืืงืจืืืช
- ืืืื ืคืจืฆืืช ืืืืื, ืืืื ืืืจืงืช SQL ืืืืคืื ืื ืชืื ืื ืื ืืืืืื.
- ืืืฆืข ื ืืชืื ืงืื ืกืืื ืขืืืจ ืืขืืืืช ืงืืืื ื ืคืืฆืืช ืืืขืืืช ืชืืืืงื.
- ืขืืื ืืืืฅ ืืงืืคืกื ืขื ืชืฆืืจื ืืื ืืืืืช ืืืืืืฅ ืืืืจ.
- ืืฉืชืื ืขื GitHub, GitLab ื-Bitbucket ืื ืืชืื ืืงืจืช ืืจืกืืืช ืืืงื.
- ืขืืฆื ืืืืืจืืช, ืืกืคืง ืืฉืื ืืืขื ืืืืื ืืืื ืืืื ืืช ืืคืืชืื.
- ืชืืื ืืืืืงืืช ืืืืืืืืืช ืืฆืื ืืจืืช CI/CD ืืื ืืืืืฃ ืชืงื ื ืืืืื ืืืืืืช ืงืื.
ืฉืืงืืืื ืืืชืืจืื
ืืขืื ืฉืื ืื ืืขืืื ืื ืืชืื ืืืืื ืืืืืืช ืงืื, ืืื ืืื ื ืืกืคืงืช ืคืจืืคืื ืืืฆืืขืื ืขืืืง ืื ืืขืจืืืช ืืืจืืืืช. ืืืชืื ืฉืฆืืืชืื ืืืืคืฉืื ืืืกืื ืืื ืฉื ื ืืชืื ืกืืื ืืฆืืจืื ืืฉืืื ืืืชื ืืืืื ืืื ืจืืืื ืืืืืงืืช ืืืจืืืืช ืื Mypy ืืืืืืช ืกืื.
ืื ืืกืฃ, ืืืคืงืืืืืืช ืฉื Bento ืชืืืื ืืขืจืืืช ืืืื ืืืืื ืืืชืขืืื ืืช ืืืืคื ืงืืืข. ืืื ืขืืืื ืื ืชืืืคืื, ืืืชืื ืฉืืื ืื ืืืื ืืืืื ืืืืื ืืืฉืื, ืื ืฉืืืืื ืืคืชืืื ืืืืฉืืจ ืคืจืืืงืืืืืื ืืืขืงื ืืืจ ืคืจืฆืืช ืืืืื ืืชืคืชืืืช.
ืืชืจืื ืืช ืขืืงืจืืื ืฉื ืฉืืืืฉ ืืืืื ืื ืืชืื ืงืื ืกืืื ื-Python
ืืืืื ืืืืื ืืจืืืืช ืงืื ืืืงืื
ืืื ืืืชืจืื ืืช ืืืฉืืขืืชืืื ืืืืชืจ ืฉื ื ืืชืื ืงืื ืกืืื ืืื ืืืืืืช ืฉืื ืืืืืช ืืืืื ืืจืืืืช ืงืื ืืคื ื ืืืฆืืข ืืงืื. ืื ืืืื ืื ืืชืื ืืื ืื, ืืืืจืฉ ืืคืขืืช ืืชืืื ืืช, ื ืืชืื ืกืืื ืกืืจืง ืืช ืงืื ืืืงืืจ ืืืืื ืฉืืืืืช ืืืืืืช, ืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ ืืืืืืืช ืื ืืขืืืืช. ืืขืืืช ืืื, ืื ืื ืืืืื, ืขืืืืืช ืืืืืื ืืืฉืืื ืืืื ืจืืฆื, ืกืืืื ื ืืืืื ืืืื ื ืืคืื ืืืืืจ.
ืืืืืื, ืฉืงืื ืืช ืคืื ืงืฆืืืช Python ืฉืืืฉืืช ืกืืื ืฉื ืจืฉืืื ืื ืืืืื ืฉืืืืช ืืืืืงื ืขืืื ื:
def sum_list(numbers):
total = 0
for num in numbers:
total = num # Incorrectly reassigning instead of adding
return total
print(sum_list([1, 2, 3, 4])) # Output: 4 instead of 10
ืืื ืื ืืชืื ืงืื ืกืืื ืืกืื ืืขืื ืื ืืฉืืืื ืืืืืช, ืื ืฉืืฆืืข ืฉืืืคืชื ืฆืจืื ืืืฉืชืืฉ total += num ืืืงืื total = num. ืืืืื ืืืงืื ืื ืืื ืข ืืฉืืื ืคืืื ืฆืืืืืื ืฉื ืืืฉืืืื ืืืฆืืฆื ืืช ืืื ืืืชืืจ ืืืืืื ืืืืคื ืืฉืืขืืชื.
ืืขืื ื ืคืืฆื ื ืืกืคืช ืืื ืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ, ืฉืขืืืืื ืืืขืืืก ืืช ืืงืื ืืืืืืื ืืืืืื:
def calculate_area(radius):
pi = 3.14
unused_var = 10 # This variable serves no purpose
return pi * radius * radius
ื ืืชืื ืกืืื ืืืืืจ ืขื unused_var, ืขืืืจ ืืฉืืืจ ืขื ืงืื ื ืงื ืืืขืื. ืขื ืืื ืฉืืืื ื ืืชืื ืกืืื ืืืจืืืช ืืขืืืื ืฉื ืืคืืชืื, ืืคืชืืื ืืืืืื ืืืชืื ืืืฉืืื Python ืืืื ืื ืืืชืจ, ืืืคืืืืืืื ืืืื ืืืืื.
ืฉืคืจ ืืช ืืืฆืืขื ืืงืื ืืืืจืืืืช ืืืื
ืืื ื ืืืืคืืืืืืฆืื ืฉื ืืืจืืืืช ืืืื ืืืื ืืช ืืืชืืืช ืืืฉืืื Python ืืขืืืื. ื ืืชืื ืงืื ืกืืื ืขืืืจ ืืืืืช ืืืืืืช ืื ืืขืืืืช, ืฉืืืืช ืจืงืืจืกืืืืืช ืืืืชืจืืช ืืืืฉืืืื ืืืืชืจืื, ืืืืืื ืฉืชืืื ืืืช ืคืืขืืืช ืืฆืืจื ืืขืืื ืืื ืืืคืฉืจ.
ืืืืืื, ืฉืงืื ืคืื ืงืฆืื ืืืืืงืช ืื ืืกืคืจ ืืื ืจืืฉืื ื:
def is_prime(n):
for i in range(2, n):
if n % i == 0:
return False
return True
ืคืื ืงืฆืื ืื ืคืืขืืช ืืืืจืืืืช ืืื O(n), ืฉืืื ื ืืขืืื ืขืืืจ ืืกืคืจืื ืืืืืื. ืืื ื ืืชืื ืกืืื ืืฆืืข ืืืืขื ืืืชื ืืืืจืืืืช ืืื O(โn) ืืืืฆืขืืช:
import math
def is_prime_optimized(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
ืขื ืืื ืืคืืชืช ืืกืคืจ ืืืืืจืฆืืืช, ืืคืื ืงืฆืื ืืืคืืช ืืืืืจื ืืฉืืขืืชืืช ืขืืืจ ืขืจืืื ืืืืืื ืฉื n.
ืืืืื ื ืืกืคืช ืืืืืช ืืืฉืืืื ืืืืชืจืื ืืืืืืืช:
def inefficient_function(numbers):
for num in numbers:
squared = num ** 2
print(squared)
If squared ืืืืฉื ืืกืคืจ ืคืขืืื ืืชืื ืืืืื, ืืืคืืืืืืฆืื ืชืืืื ืืืกืื ืืขืจืืื ืืืงืื ืืืฉืืื ืืืืฉ ืืื ืืืืจืฆืื. ืืื ื ืืชืื ืกืืื ืืืืื ืืืกืจ ืืขืืืืช ืืืื ืืืืืืฆืื ืขื ืฉืืคืืจื ืืืฆืืขืื.
ืืืืื ืคืืืขืืช ืืืืื
ืืืืื ืืื ืขื ืืื ืงืจืืื ืืคืืชืื ืชืืื ื, ืืืืฉืืื Python ืืื ื ืืืฆืื ืืืคื. ืืื ื ืืชืื ืงืื ืกืืื ืขืืืจืื ืืืืืช ืคืจืฆืืช ืืืืื ืืคื ื ืคืจืืกืช ืืคืืืงืฆืื, ืืืื ืขืื ืืืืคืืช ื ืชืื ืื, ืืชืงืคืืช ืืืจืงื ืืืืฉื ืื ืืืจืฉืืช.
ืืืงืื ืืืืื ื ืคืืฅ ืืื ืืื ืืืฉืืจืื ืืงืืืืื:
DB_PASSWORD = "supersecret123" # Hardcoded password (security risk)
ื ืืชืื ืกืืื ืืกืื ืืขืืืช ืืืื, ืืืขืืื ืืคืชืืื ืืืฉืชืืฉ ืืืฉืชื ื ืกืืืื ืืืงืื ืืืช:
import os
DB_PASSWORD = os.getenv("DB_PASSWORD") # Secure way to retrieve passwords
ืกืืืื ืืืืื ืชืืืฃ ื ืืกืฃ ืืจืื ืืงืื ืืฉืชืืฉ ืื ืืืืื, ืฉืขืืื ืืืืืื ืืืชืงืคืืช ืืืจืงืช SQL:
def get_user_data(user_id):
query = f"SELECT * FROM users WHERE id = {user_id}" # SQL Injection risk
return execute_query(query)
ืืื ื ืืชืื ืกืืื ืืืื ืืช ืืกืืืื ืืคืืื ืฆืืืื ืืืืจืงืช SQL ืืืฆืืข ืืืฉืชืืฉ ืืฉืืืืชืืช ืขื ืคืจืืืจืื:
def get_user_data_secure(user_id):
query = "SELECT * FROM users WHERE id = %s"
return execute_query(query, (user_id,))
ืฉืคืจ ืืช ืชืืืืงื ืืงืจืืืืช ืืงืื
ืืชืืืช ืงืื ื ืงื, ืงืจืื ืื ืืชื ืืชืืืืงื ืืืื ืืช ืืืฆืืืช ืืคืจืืืงื ืืืืื ืืจืื. ืืื ืฉืคืจืืืงืืื ืืืืื, ืืกืืกื ืงืื ืืืืืื ืื ืืืคืืื ืืงืฉืื ืื ืืคืื ืืืืื, ืืืคืืืืืืฆืื ืืืจืืื. ืืื ื ืืชืื ืงืื ืกืืื ืืืืคืื ืชืงื ื ืงืืืื, ืชืืขืื ืืชืืื ืืฉืืืืช ืขืืืื ืืืืืฆืืช, ืืืืืืืื ืฉืืคืชืืื ืคืืขืืื ืืคื ืื ืืืืช ืืืื PEP 8.
ืฉืงืื ืคืื ืงืฆืืืช Python ืืคืืจืื ืืจืืข:
def add_numbers(a,b):return a+b
ืคืื ืงืฆืื ืื ืืกืจื ืืจืืืืื ืืงืจืืืืช ื ืืืชืื. ื ืืชืื ืกืืื ืืืืืฅ:
def add_numbers(a, b):
return a + b # Improved readability
ืืคืืชืช ืืื ืืื ื
ืืื ืืื ื ืืฆืืืจ ืืืฉืจ ืืคืชืืื ื ืืชื ืื ืขืืืคืืช ืืชืืงืื ืื ืืืืจืื ืขื ืคื ื ืืื ื ืงืื ืชืงืื, ืื ืฉืืืืื ืืืกืืกื ืงืื ืื ืืขืืืื ืืงืฉืื ืืชืืืืงื. ืขื ืืืื, ืื ืืื ืืช ืืคืืชืื, ืืืืืจ ืืช ืืืคืขื ืืืืืื ืืืืคื ืืช ืืฉืืคืืจืื ืืขืชืืืืื ืืืงืจืื ืืืชืจ.
ืืื ื ืืชืื ืกืืื ืขืืืจืื ืืืืืช ืงืื ืืืืชืจ, ืืืืฉื ืืื ืืขืื, ืืืคืืืชืื ืืช ืืืื ืืืื ื ืืคื ื ืฉืืื ืืืคื ืืืืชื ื ืืชื ืื ืืืื. ืฉืงืื ืืช ืืืืืื ืืืื:
def calculate_discount(price, discount):
if discount > 0:
new_price = price - (price * discount / 100)
return new_price
else:
return price
ืื ื ื else ืืฆืืจื ืืืืชืจืช, ืื ืฉืืืคื ืืช ืืงืื ืืงืฉื ืืืชืจ ืืงืจืืื. ื ืืชืื ืกืืื ืืฆืืข ืืคืฉื ืืืชื:
def calculate_discount(price, discount):
if discount > 0:
return price - (price * discount / 100)
return price
ืืืฆื ื ืืชืื ืงืื ืกืืื ืืกืืืข ืื ืืืื ืืืืจืื
ืืืชืืจ ืืืืคืืช ืืืืจืื ืืคืืืชืื
ืืืืคืืช ืืืืจืื ื-Python ืืืืืืช ืืคืืืข ืืืืฆืืขืื ืืืืจื ืืื, ืืืืืื ืืืืฉืืืื ืืจืืื ืืืื. ืืขืื ืฉ-Python ืืฉืชืืฉ ืืืืกืืฃ ืืฉืคื ืืืืืืื, ื ืืืื ืืืืจืื ืื ื ืืื ืขืืื ืืืืืื ืืฆืจืืืช ืืืืจืื ืืืืืืช. ืืื ื ืืชืื ืงืื ืกืืื ืขืืืจืื ืืืืืช ืืงืฆืืืช ืืืืจืื ืฉืืื ื ืืฉืืืืฉ, ืืคื ืืืช ืืขืืืืืช ืืืืคืื ืื ืืขืื ืืืืืืืงืืื ืืคื ื ืฉืื ืืืจืืื ืืืขืืืช ืืืฆืืขืื.
ืฉืงืื ืืช ืืืืืื ืืืื ืฉืื ืืืืืืงื ื ืฉืืจ ืืืชืืืืกืืช, ืื ืฉืืืจื ืืืืืคืช ืืืืจืื:
class MemoryLeakExample:
def __init__(self):
self.data = [x for x in range(1000000)] # Large list allocation
leak = MemoryLeakExample()
# The object is not explicitly deleted, leading to high memory usage
ืืื ื ืืชืื ืกืืื ืืกืื ืืช ืืืืืืืงื ืืืืื ืื ืืฉืชืืจืจ, ืื ืฉืืฆืืข ืืืืงื ืืคืืจืฉืช:
del leak # Explicitly deleting the object to free memory
ืกืืื ืฉืืืื ื ืืกืคืช ืืืืืคืืช ืืืืจืื ืืื ืืคื ืืืช ืืขืืืืืช. ืืืฉืจ ืฉื ื ืืืืืืงืืื ืืชืืืืกืื ืื ืืื, ืืกืคื ืืืฉืคื ืฉื ืคืืืชืื ืขืืื ืื ืืฉืืจืจ ืืืชื:
class A:
def __init__(self):
self.ref = B(self) # Circular reference
class B:
def __init__(self, obj):
self.ref = obj
a = A()
ืืื ื ืืชืื ืงืื ืกืืื ืืืืื ืืคืืกืื ืืืื ืืืฆืืขืื ืืืฉืชืืฉ ืืื weakref ืืฉืืืจ ืืช ืืืขืื:
import weakref
class A:
def __init__(self):
self.ref = weakref.ref(B(self)) # Using weak references
class B:
def __init__(self, obj):
self.ref = obj
ืขื ืืื ืืืืื ืืืงืื ืฉื ืืขืืืช ืืืื, ื ืืชืื ืกืืื ืืืืื ืืช ืืืฉืืื Python ืื ืื ืืช ืืืืืจืื ืืืขืืืืช ืืืืืื ืข ืืคืืืขื ืืืืชืจืช ืืืืฆืืขืื.
ืืืคืืืืืืฆืื ืฉื ืฉืืืืฉ ืืืืืจืื ืืืืืืจ ืืื ืืืืืืงื
ืืชืจืื ืืจืืื ื ืืกืฃ ืฉื ื ืืชืื ืงืื ืกืืื ืืื ืืืืื ืืงืฆืืืช ืืืืืืงืืื ืืืืชืจืืช ืืืืคืืืืืืฆืื ืฉื ืืืคื ืืฉืืืืฉ ืืืืืจืื. ืืฆืืจืช ืืืืืืงืืื ืืืืชืจืช ืขืืืื ืืืฉืคืืข ืืืืคื ืืฉืืขืืชื ืขื ืืืืฆืืขืื, ืืืืืื ืืืฉืจ ืขืืกืงืื ืืืขืจืื ื ืชืื ืื ืืืืืื.
ืฉืงืื ืืช ืืืืฉื ืืื ืืขืืื ืืื:
def process_data():
data = [x for x in range(1000000)] # Large list stored in memory
return sum(data)
result = process_data()
ืืจืฉืืื ืืืื ื ืฉืืจืช ืืืืืจืื, ืืื ืืืืชืจ ืืฉืื ืื ื ืฆืจืืืื ืจืง ืืืฉื ืืช ืืกืืื. ืืื ื ืืชืื ืกืืื ืืฆืืข ืืืฉืชืืฉ ื- a ืื ืจืืืจ ืืื ืืืืขื ืืช ืืฉืืืืฉ ืืืืืจืื:
def process_data():
return sum(x for x in range(1000000)) # Generator expression (memory-efficient)
result = process_data()
ืื ืืกืฃ, ืืื ื ืืชืื ืกืืื ืืกืื ืื ืืืืืืงืืื ืฉืืื ื ืืฉืืืืฉ ืืืฆืืขืื ื ืืงืื ืืืืจืื ืืคืืจืฉ. ืืืืืื, ืฉืงืื ืืงืจื ืฉืื ืชืืง ื ืคืชื ืื ืืขืืื ืื ื ืกืืจ:
def read_file():
file = open("data.txt", "r")
content = file.read() # File remains open (memory leak)
return content
ื ืืชืื ืกืืื ืืืืืฅ ืืืฉืชืืฉ ืืื ืื ืืงืฉืจ ืืื ืืฉืืจืจ ืืฉืืืื ืืืืคื ืืืืืืื:
def read_file():
with open("data.txt", "r") as file:
return file.read() # File closes automatically after reading
ืืืคืืืืืืฆืืืช ืืื ืืืืืืืช ืฉืชืื ืืืช Python ืืืฉืชืืฉ ืืืืืจืื ืืืขืืืืช, ืืคืืชืช ืฆืจืืืช ืืืืจืื ืืืืชืจืช ืืฉืืคืืจ ืืืืฆืืขืื.
ืื ืืขืช ืฉืืืจืช ืืคืฆืื ืืืืชืจืช
ืืืช ืืืขืืืช ืืืืืจืื ืฉืืื ืืชืขืืืื ืืื ื ืืื ืฉืืืจืช ืืคืฆืื ืืืืชืจืช, ืฉืื ืืคืฆืื ื ืฉืืจืื ืืืืืจืื ืื ืืืืจ ืฉืืืจ ืืื ืืื ืฆืืจื. ื ืืชืื ืงืื ืกืืื ืขืืืจ ืืืืืช ืืงืจืื ืืืื ืืืืืืฅ ืขื ืืกืืจืืืืืช ืืคืื ืื ืืืืจืื.
ืืืืืื, ืฉืงืื ืืช ืืคืื ืงืฆืื ืืื ืฉืื ืจืฉืืื ืืืืืืืช ืืืฉืืื ืืืืื:
cached_data = []
def add_to_cache(data):
cached_data.append(data) # Data is continuously added but never removed
ื ืืชืื ืกืืื ืืกืื ืืืช ืืืขืืืช ืืืืจืื ืคืืื ืฆืืืืืช ืืืฆืืข ืืืฉืชืืฉ WeakSet ืื ื ืืืื ืืคืืจืฉ ืฉื ืืืื ืืืืืื:
from collections import deque
cached_data = deque(maxlen=100) # Limits cache size to prevent excessive memory use
def add_to_cache(data):
cached_data.append(data)
ืืขืื ื ืคืืฆื ื ืืกืคืช ืืชืขืืจืจืช ืืืฉืจ ืืืืืืงืืื ืืืืืกื ืื ืืจืฉืืืืช ืื ืืขืืื ืื ืืืกืจืื:
def store_objects():
obj_list = []
for _ in range(10000):
obj_list.append(SomeObject()) # Objects accumulate without being cleared
ื ืืชืื ืกืืื ืืืืืฅ ืขื ื ืืงืื ืื ืืืืืช ืฉืืืืจ ืืืืืืงื ืืขืช ืืขืช:
def store_objects():
obj_list = [SomeObject() for _ in range(1000)] # Limited object retention
ืขื ืืื ืืืืืช ืืกืจืช ืืืืืืงืืื ืืืฉืจ ืืื ืืื ืขืื ืฆืืจื, ืืื ื ืืชืื ืกืืื ืขืืืจืื ืืืืฉืืื Python ืืืืขืจ ืืืืื ืืืืจืื ืืืจืืฅ ืืืขืืืืช ืืืืจื ืืื.
ืืืคืืืืืืฆืื ืืืืืืืืช ืฉื ืืืืจืื ืืืืกืืฃ ืืฉืคื
ืืกืคื ืืืฉืคื ืืืืื ื ืฉื Python ืืืคื ืื ืืงืื ืืืืจืื, ืืื ืงืื ืื ืืขืื ืืืื ืืืฆืืฃ ืืช ืืืกืฃ ืืืฉืคื, ืื ืฉืืืืื ืืืขืืืช ืืืฆืืขืื. ืืื ื ืืชืื ืกืืื ืขืืืจืื ืืืืืช ืืงืจืื ืฉืืื ืืคืชืืื ืืืขืืช ืืืฉืืืช ืื ืืขืฉืืช ืฉืืืืฉ ืืจืขื ืืืืกืืฃ ืืืฉืคื.
ืฉืงืื ืืช ืืฉืืืืฉ ืืื ืืขืื ืืื ืืืืกืืฃ ืืฉืคื:
import gc
gc.disable() # Disabling garbage collection (bad practice)
ืืื ื ืืชืื ืงืื ืกืืื ืืืืืจ ืื ืืฉืืชืช ืืืกืืฃ ืืืฉืคื ืฆืจืืื ืืืืขืฉืืช ืจืง ื ืชืจืืืฉื ืืืฆืืข ืกืคืฆืืคืืื. ืืืงืื ืืืช, ืืฉ ืืืืืฃ ื ืืืื ืืืืจืื ื ืืื ืขื ืืื ืืืืืช ืืืืืืงืืื ืืืืฅ ืืชืืื ืืืืคื ืืืขื.
ืืขืื ื ืคืืฆื ื ืืกืคืช ืืื ืืืกืืฃ ืืฉืคื ืืื ื ืืืืื:
import gc
def process_large_data():
data = [x for x in range(1000000)]
del data
gc.collect() # Unnecessary manual garbage collection call
ื ืืชืื ืกืืื ืืืืืฅ ืืชืช ืืืกืคื ืืืฉืคื ืฉื Python ืืืคื ืื ืืงืื ืืืืคื ืืืืืืื:
def process_large_data():
data = [x for x in range(1000000)]
# No need for manual gc.collect(); Python will handle it
ืขื ืืื ืืื ืืฃ ื ืืชืื ืงืื ืกืืื, ืืคืชืืื ืืืืืื ืืืืื ืข ืื ืืืื ืืืืจืื ืืื ื ืืืืชืจ ืืืืกืชืื ืขื ืืขืจืืช ืืืกืืฃ ืืืฉืคื ืืืขืืื ืฉื Python ืืืืฆืืขืื ืืืืืืื.
ืกืืืื
ื ืืชืื ืงืื ืกืืื ืืื ืคืจืงืืืงื ืืกืืกืืช ืืืืืืช ืืืืืืช, ืืืืืื ืืืืขืืืืช ืฉื ืืืฉืืื Python. ืขื ืืื ืฉืืืื ืืืื ืืื ืืชืืืืื ืขืืืื ืฉื ืคืืชืื, ืฆืืืชืื ืืืืืื ืืืืืช ืืืืื ืืืืคื ืืืื, ืืืืืฃ ืชืงื ื ืงืืืื ืืืืื ืืช ืืืืฆืืขืื ืืคื ื ืฉืืงืื ืืืืข ืืืืฆืืจ. ืขื ืืืืจืืืืช ืืืืืจืช ืฉื ืชืืื ืืช ืืืืจื ืืืช, ืืืื ืืื ืืกืคืงืื ืชืืื ืืช ืงืจืืืืืช ืืืกืืืขืืช ืืืคืชืืื ืืืชืื ืงืื ื ืงื, ืืจ ืชืืืืงื ืื ืืชื ืืืจืืื. ืืื ืื ืืืืื ืคืจืฆืืช ืืืืื, ืืืคืืืืืืฆืื ืฉื ืฉืืืืฉ ืืืืืจืื ืื ืืืืคืช ืฉืืืืช ืขืืืื ืืืืืฆืืช, ื ืืชืื ืกืืื ืืืื ืชืคืงืื ืืคืชื ืืืคืืชืช ืืืื ืืืื ื ืืฉืืคืืจ ืืืื ืืช ืืชืืื ื ืืืืืืช. ืืจืืื ืื ืฉืืชืขืืคืื ื ืืชืื ืกืืื ื ืื ืื ืืคืจืืืืงืืืืืืช ืืืืืจืช, ืคืืืช ืฉืืืืืช ืืื ืจืืฆื ืืืืืื ืืฉืืคืจืช.
ืืืืจืช ืืื ื ืืชืื ืืงืื ืืกืืื ืื ืืื ืื ืชืืืื ืืืจืืฉืืช ืืคืจืืืงื ืืกืคืฆืืคืืืช, ืืื ืืืืืคืช ืชืงื ื ืขืืฆืื ืืืืืจืื ืขื Black ืืขื ืืืืืื ืกืืืื ื ืืืืื ืขื Bandit ืื ืืืคืืืืืืฆืื ืฉื ืืืืืืช ืืกืื ืขื Mypy. ืฉืืืื ืืืื ืืจืืืื ืืืืื ื ืืชืื ืืงืืฃ ืืืืกื ืืืืืช ืงืื, ืืืืื ืืืืฆืืขืื. ืืืืืื ืฉ-Python ืืืฉืืื ืืืืืช ืฉืคื ืืืืื ื ืืืช ืืคืืชืื ืชืืื ื, ืืืืืฅ ื ืืชืื ืงืื ืกืืื ืื ืจืง ืืืืขื ืืช ืืคืืชืื ืืื ืื ืืืืง ืืืฉืืืื ืืคื ื ืคืืืขืืืืช ืคืืื ืฆืืืืืืช. ืขื ืืื ืืคืืืช ื ืืชืื ืกืืื ืืืืง ืืจืืื ืืืืืืจ ืืืืื ืฉื ืืชืืื ื, ืืคืชืืื ืืืืืื ืืื ืืช ืืืฉืืื Python ืืืงืื ืืืขืื ืืืฆืืขืื ืืืืืื ืืขืืืืื ืืชืงื ื ืืชืขืฉืืื ืืืขืืื ืขืกืงืืื.