第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

改善python代碼風(fēng)格的一些建議

標(biāo)簽:
Python

python作为一门动态的编程语言,有开发便捷的优势,但容易犯代码风格上的问题。本文旨在介绍一些让python代码规范的工具和实际运用场景。


工具推荐

用flake8进行代码静态扫描

flake8是一个强制的代码规范工具,flake8支持python2、python3的代码静态扫描,但flake8本身依赖python3.5以上的版本。

flake8已插件的形式添加检测规则,能够支持自定义的规则的扩展。

flake8自带的插件有mccabe(代码负责度)pycodestyle(PEP8代码检查), pyflakes(python语法问题,单不检查代码样式)。此外还推荐3个插件:

flake8-print: 检测代码里的print https://github.com/JBKahn/flake8-print

flake8-bugbear: 增加了除pycodestyle和pyflakes之外的检查 https://github.com/PyCQA/flake8-bugbear

flake8-mypy:对代码进行type hints相关对检查 https://github.com/ambv/flake8-mypy


安装命令:pip3 install -i http://mirrors.aliyun.com/pypi/simple/

--trusted-host mirrors.aliyun.com

flake8 flake8-bugbear flake8-print flake8-mypy

用black进行代码格式化

black是一个不妥协的Python代码格式化工具,能够将代码自动按照PEP8的规范进行格式化。

图片描述


安装命令:pip3 install black

持续集成中的运用

git hook 中使用插件

建议将在pre-commit中添加 black 和 flake8 的命令进行commit之前的检查.

hooks在 ./.git/hooks/路径下,添加pre-commit文件,在里面写需要在commit之前执行的命令。例如将本次提交的代码进行用代码格式化并且进行静态扫描,pre-commit定义如下:


#!/bin/bash

# 获取本次提交的变动的文件

STAGE_FILES=$(git diff --cached --name-only --diff-filter=ACM -- '*.py' '*.js')

# black格式化代码

python3. 6 -m black $STAGE_FILES

# flake8代码静态扫描

python3.6 -m flake8 $STAGE_FILES

将代码检查加入到gitlab CI(持续集成)中

1.在项目中代码中的添加 gitlab-ci.yml 语法参考 https://docs.gitlab.com/ee/ci/yaml/README.html

2.为项目配置ci-runner,推荐时候用docker进行安装ci-runner, 参考《搭建自己的 Gitlab CI Runner》

每次push代码的时候都会触发一次build,根据gitalb-ci.yml中定义的步骤在runner中执行命令。例如在ci过程中加入代码静态扫描, .gitlab-ci.yml如下:


# .gitlab-ci.yml

  

image: "python:3.6"

  

before_script:

- python --version

- pip install

-i http://mirrors.aliyun.com/pypi/simple/

--trusted-host mirrors.aliyun.com

flake8 flake8-bugbear flake8-mypy flask

  

stages:

- Static Analysis

  

flake8:

stage: Static Analysis

script:

- flake8 --ignore=E501 --max-line-length=120

  
  

延展阅读:

Git 钩子 hook 介绍与使用:https://www.jianshu.com/p/f3d17c11bb8a
gitlab之gitlab-ci自动部署:https://www.jianshu.com/p/df433633816b

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消