Lebih mudah diucapkan daripada dilakukan Kita semua tahu bahawa kebolehbacaan kod adalah sangat penting, tetapi kami sentiasa menulis sesuka hati, tanpa mengira petunjuk jenis, pesanan import dan spesifikasi PEP8. Hari ini saya akan berkongsi sedikit helah yang boleh menjadikan kod Python anda lebih bersih dalam hanya satu langkah mudah.
Ini adalah prakomit:
membolehkan anda menyemak secara automatik sama ada kod anda memenuhi spesifikasi yang anda inginkan sebelum menyerahkannya.
Sebelum menggunakannya, pasangkannya dengan pip:
pip install pre-commit
Kemudian buat dua fail dalam direktori akar projek: .pre-commit-config.yaml dan pyproject.toml. Kandungan fail
.pre-commit-config.yaml adalah seperti berikut:
exclude: _pb2.py$ repos: - repo: https://github.com/psf/black rev: 22.3.0 hooks: - id: black args: [--skip-string-normalization] - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: check-docstring-first - id: check-json - id: check-merge-conflict - id: check-yaml - id: debug-statements - id: end-of-file-fixer - id: trailing-whitespace - id: requirements-txt-fixer - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.9.0 hooks: - id: python-check-mock-methods - id: python-use-type-annotations - repo: https://github.com/pre-commit/mirrors-mypy rev: "v0.910" hooks: - id: mypy args: [ --ignore-missing-imports, --warn-no-return, --warn-redundant-casts, --disallow-incomplete-defs, ] additional_dependencies: [types-all] - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort args: [--profile, black, --filter-files]
Ini mengandungi alatan seperti black, mypy, check-docstring-first, isort dan id ialah alat yang sepadan, boleh dikatakan bahawa fail konfigurasi ini pada asasnya cukup.
Dalam fail .pre-commit-config.yaml kita boleh menentukan cangkuk yang akan digunakan dan dalam pyproject.toml kita boleh menentukan parameter untuk cangkuk individu ini.
Kandungan fail pyproject.toml adalah seperti berikut:
[tool.black] line-length = 88 target-version = ["py38"] [tool.isort] profile = "black" multi_line_output = 3
Konfigurasi hitam dan isor yang berkaitan dikonfigurasikan di sini.
Kemudian laksanakan arahan pemasangan prakomit dalam direktori akar projek untuk memasang pemalam prakomit.
Kemudian setiap kali anda mengemas kini kod dan menyerahkan kod, cangkuk ini akan dicetuskan dan operasi berikut akan dilakukan secara automatik:
Isih import
Kod format PEP8
Semak fail yaml dan json anda untuk mengetahui ketepatan
Semakan taip (jika anda menggunakan petua taip)
Akhir sekali
Anda boleh menyalin kedua-dua fail ini ke direktori akar projek anda, dan kemudian melakukan pemasangan prakomit, supaya setiap kali anda menyerahkan kod, ia akan menjadi kod yang bersih Bukankah ia sangat mudah?
Atas ialah kandungan terperinci Satu langkah mudah untuk menjadikan kod Python anda lebih bersih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!