当前位置: 首页 > news >正文

潼关县住房和城乡建设局网站我做网站推广

潼关县住房和城乡建设局网站,我做网站推广,注册咨询公司经营范围,wordpress混乱Cookiecutter 介绍 使用 Python 这种动态语言进行 web 开发#xff0c;团队中经常会遇到的问题就是代码的质量比较难控制。Python 语言本身灵活性比较高#xff0c;不加控制的情况下代码质量可能最后很难维护。而且代码的各方面的标准#xff0c;比如提示的 lint#xff0…Cookiecutter 介绍 使用 Python 这种动态语言进行 web 开发团队中经常会遇到的问题就是代码的质量比较难控制。Python 语言本身灵活性比较高不加控制的情况下代码质量可能最后很难维护。而且代码的各方面的标准比如提示的 lint代码格式化等等如果不加规范不同开发者的协作也会比较困难。因此从公司角度来看一个统一的代码规范是很有必要的。 在 Python 的开发过程中可以选择公司希望遵循的 Python 开发相关的规范那么如何更好地将这些规范组织起来呢 一个比较好的方案就是 cookiecuttercookiecutter 是一个用于构建工程模板的 python 库利用 cookiecutter 可以构建一个标准统一的起步 python 项目同时在构建中还具备一定的灵活性根据自己需要选择合适配置。下面就对 cookiecutter 进行简要介绍 Cookiecutter 简单实践 Cookiecutter 是一个跨平台的 Python模板组织工具可以极其简单地生成一个 Python 起步项目。 使用前需要先安装 cookiecutter各种安装方式都是支持的Mac 上可以通过 brew 或者 pip 安装。 首先你需要寻找符合你要求项目模板在 github 上通过 cookiecutter 进行搜索即可找到大量的备选模板我们这边以 cookiecutter 官方维护的一个模板 cookiecutter-pypackage 为例进行介绍找到此模板对应的地址 https://github.com/audreyfeldroy/cookiecutter-pypackage 之后直接执行 cookiecutter https://github.com/audreyfeldroy/cookiecutter-pypackage 即可在执行中会有一些可供选择的配置型如果不确定可以使用默认值一路确认下来你需要的起步项目就完成了。 如果此模板不能完成满足你的需要你可以选择在构建完成后对工程进行小幅修改如果需要将此模板推广给全公司使用直接基于此模板构建一个新的模板进行修改之后再重新生成工程即可。 Cookiecutter 模板 下面可以对 cookiecutter 模板的组织结构进行简单介绍 cookiecutter-something/ ├── {{ cookiecutter.project_name }}/ --------- 项目模板生成的工程就是这个目录下内容 │ └── ... ├── blah.txt --------- 模板工程之外的文件 │ └── cookiecutter.json --------- 提示以及默认值的配置文件可变的变量都存储在这个文件中通过上面的模板可以生成项目模板目录下的内容项目的变量名会被输入的内容替换。 另外 cookiecutter 还支持一些更高级的功能比如前置或后置的检查 Hooks以及注入实时上下文等可以根据自己需要进行使用 一个合适的项目模板 对于公司而言有一个标准的项目规范可以帮助大家统一代码风格提高整体的代码质量我们参考了各家的标准化建议最终提出了一个合适的代码规范主要包含下面的一些部分 lint lint 是用于检测代码有助于团队规则的统一同时借助 lint 可以规避一些常见的坑。我们最终选择的 lint 是 pylint pylint 基本上是 python 的 lint 中最常见的 lint 了限制也比较严格我们根据需要关闭了 missing-docstring, logging-fstring-interpolationmypy 此 lint 是 python 中常见的类型检查 lint通过此 lint 要求方法指定参数的类型 代码格式化 代码格式化是用于保证代码风格的统一代码的格式化也存在多种选择我们最终选择了 black 这个格式化工具的有名之处在于可配置项比较少基本上通过去除灵活性来换取高度统一性的代码风格但是 black 竟然受到了大量 python 程序员的喜爱可能是动态语言的灵活性让大家更想要某种确定的规范吧isort 这是用来调整 python 包的 import 顺序的按照系统库第三方库本地库的顺序进行分开排布 单元测试 单元测试用于保证代码的正确性我们选择了评价相对更好的 pytest 相对于默认的 unittest, pytest 显然更受欢迎pytest 使用更加便利同时不仅能支持单元测试还能支持面向应用的测试coverage 我们使用 coverage 用于计算代码单元测试覆盖率方便保证代码的充分测试 依赖管理 requirements 在 python 项目中比较常见的是通过 requirements.txt 进行管理但是默认的包管理不支持管理直接依赖和间接依赖因此需要通过 pip-compile 进行区分而且开发相关的依赖也需要另外通过 requirements-dev.txt这种管理方式比较不友好但是考虑到大部分 python 程序员都熟悉这种情况也可以提供了这种方式poetry 这是一种更新的包管理方式可以比较好地组织好依赖关系而且已经被纳入 PEP 518 标准了建议优先采用此方式管理包。同时 poetry 也包含了虚拟环境的管理使用更加便利 按照上面的规范最终构建的 cookiecutter 模板可以参考 github 更多模板 cookiecutter 的使用过程中上手还是比较简单的cookiecutter 无非是一个动态替换的机制没有什么特殊的复杂性。从我的使用的感受来看cookiecutter 的一个最大价值在于有大量的开发者已经提供了一些现成的工程模板而且我们可以相对简单地通过已有的工程模板生成新的工程模板并在团队内部统一规范。 可以参考 cookiecutter 提供的大量的代码模板根据自己的需要选择一个基础模板然后进行必要的修改即可得到所需的上手代码模板。进而生成所需的项目工程。比如对于上面提供的项目模板如果需要增加相关文档的支持可以引入 Sphinx 之后重新生成项目模板即可。 总结 从过往的经验来看有两点总结 项目规范化很有必要统一的规范省心省力不要重复造轮子尽量使用成熟方案 使用 cookiecutter 就可以轻松实现
http://www.dnsts.com.cn/news/218688.html

相关文章:

  • 淘客做网站的软件自己可以学做网站吗
  • 个人网站每年要多少钱网站开发程序员工资
  • 网站开发的著作权和版权j2ee网站开发开题报告
  • 网站各类备案启动wordpress
  • 网站源代码下载工具网络域名备案查询
  • seo网站排名优化价格网站建设业务活动
  • 找人做淘宝网站多少钱合肥网站排名
  • 有什么样的网站开发网站开发课设报告书
  • 北京通网站建设价格塘厦高铁站
  • 德宏网站建设wordpress网站实例
  • 狗头网网站电商网站的建设与维护
  • 腾讯有做淘宝客网站吗那家建设网站p2p公司最好?
  • 网站建设PHP开发是什么意思做网店运营需要学什么?
  • 外网浏览网站网站建设建设价格
  • 企业网站建设费用属管理费用吗销客巴巴wordpress
  • 济南物流公司网站建设公司做网站好吗
  • 网站导航素材下载网站制作的常见布局
  • 网站制作的销售对象病历邮寄怎么进入公众号
  • 主流媒体网站建设东莞知名企业排名
  • 云南省建设测量员注册网站wordpress主题 编辑
  • 怎么用二维动画做网站首页步骤php网站留言板是怎么做的
  • 专做展厅设计网站深圳公司形象墙制作
  • nodejs做网站的弊端专门找事做的网站
  • 河南省新闻出版培训中心吉林seo刷关键词排名优化
  • 甘肃网站建设哪家便宜网站建设的基本概念
  • html做电商网站做图片类型网站需要什么服务器
  • 东营市东营网站设计旅游网站建设规划
  • 科技公司网站主页设计网站建设法律法规
  • wpf做网站做百度推广多少钱
  • 长沙大型网络网站制作公司红色主题网站模板