Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

github中各配置文件

2020/12/19 git
Word count: 826 | Reading time: 3min

.pre-commit-config.yaml

来源:easyquotation,项目中有makefile和.pre-commit-config.yaml、.coveragerc.pylintrc三个比较新奇的。

  • makefile一般都在c工程中看到, 这边作者使用是代替了一些编译工作,类似sh脚本的作用。跟setup区别:makefile提供给开发者提交代码时使用;setup当做三方库直接调用

    1
    2
    3
    4
    5
    6
    >   init:
    > pip install pipenv
    > pipenv install --dev
    > pipenv run pre-commit install
    > @echo && echo use "pipenv shell" to access virtual env
    >

Git钩子脚本对于在提交代码审查之前识别简单问题很有用。我们在每次提交时都运行钩子,以自动指出代码中的问题,例如缺少分号,尾随空白和调试语句。通过在代码审阅之前指出这些问题,代码审阅者可以专注于更改的体系结构,而不会浪费琐碎的样式问题。

在此介绍的pre-commit只是git hook的一部分, git hook分客户端和服务端的,pre-commit属于客户端的。

使用教程:项目管理:代码检查 pre-commit 使用详解: PIP安装->配置(在项目的根目录创建一个.pre-commit-config.yaml 文件)->pre-commit install把pre-commit安装到了项目.git的hook目录下面->Done(之后我们在执行git commit 的时候就会先调用这个文件,当然还可以在git操作的很多步骤前面做一些工作)

.travis.yml

.gitignore

在提交git commit的时候选择性忽略的配置文件

有各种语言的模板,至于具体的文件,可以自己修改细节。

.gitkeep

大家可能在很多的开源项目中都看到过.gitkeep这个文件,文件内没有任何内容,一个空空的文件。

那这个类型文件的作用到底是啥呢?这要从git不允许追踪(track)或者说提交一个空的文件夹说起,git本身是不允许提交一个空文件夹的,所有就有了.gitkeep的存在,可以把它看作是一个占位符,当然了,你也可以使用 .nofile或者其他的占位符,自行决定。

当然了,业内人员已经习惯使用.gitkeep,已经达成了共识,所以我们尽量还是使用.gitkeep。

代码规范与风格

.pylintrc

Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料)和有潜在问题的代码。

跟.gitignore差不多,有模板。

.flake8

请使用 Flake8 确保代码符合规范:

1
flake8 --config .flake8

.style.yapf

请使用 YAPF 对代码进行格式下:

1
yapf --style .style.yapf --in-place --recursive aiocqhttp scripts demo.py

.coveragerc

Python用来查看测试中覆盖率的配置文件,如果衡量单元测试对相应代码的测试重量,覆盖率是一个必要非充分条件,因此统计代码的覆盖率,检视单测是否充分,就尤为的重要。这里针对python-unittest的单测的覆盖率coverage进行使用说明与分析.

1
2
3
4
5
6
7
[run]
branch = True
include = easyquotation/* # 项目名称xxx
omit = tests/* # 忽略的目录

[report]
fail_under = -1

官方文档: https://coverage.readthedocs.io/en/latest/index.html

Author: Mrli

Link: https://nymrli.top/2020/11/29/github中各配置文件/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
fork curlconverter for Better
NextPost >
《漫画机器学习入门》大关真之——读书笔记
CATALOG
  1. 1. .pre-commit-config.yaml
  2. 2. .travis.yml
  3. 3. .gitignore
  4. 4. .gitkeep
  • 代码规范与风格
    1. 1. .pylintrc
    2. 2. .flake8
    3. 3. .style.yapf
    4. 4. .coveragerc