python web项目目录结构采用的是_python/java项目结构规范

实验室的项目都是些外包小项目。每隔几个月就搞一些需求,这代码没有好的规范,隔了几个月再看简直就是坨翔了,所以在此记录并不断更新,自己觉得好的项目组织和代码结构。

python项目python项目首先要弄懂三个东西,包,模块,类。弄懂这些之后才不会出现各自花式import错误。

请坚持面向对象的思想进行编程,禁止函数式编程风格。

包包是一个特殊的目录,其下必须含有名为__init__.py的文件,否则Python会将其当作普通目录而不是包。也就是说只有包(包含__init__.py)才可以被import。

__init__.py作用:1.同包的__init__.py文件中引入需要的模块文件,可以多模块共用

2.使用__all__ =[“Python1”],可以限制对外提供可用的模块

请尽量不要设置source root,如果设置了请记得在main模块中增加sys.path.append()

包的取名规范,按照java的分层结构组织开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;网关控制层等。

Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。

Service 层:相对具体的业务逻辑服务层,该层下根据业务流程继续进行分包,不是一个功能对应一个包,而是一个业务对应一个包。

Manager 层:通用业务处理层,它有如下特征:1) 对第三方平台封装的层,预处理返回结果及转化异常信息。

2) 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理。

3) 与 DAO 层交互,对多个 DAO 的组合复用

DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase、OB 等进行数据交互。

POJO层:存放实体类定义

外部接口或第三方平台层:包括其它部门 RPC 开放接口,基础平台,其它公司的 HTTP 接口。

配置层:存放配置文件,和相应的配置类。注意配置文件需要区分生产环境和开发环境

模块在Python中,一个.py文件就是一个module,即“模块”。

使用独立的一行导入一个模块,使用from XXX import XXX。不要使用import,也不要使用任何*的语句。

模块的取名规范,按照java的类名驼峰命名法+名词

如果有一个pojo类A,然后你需要对A进行一系列的操作,就可以把该模块定义为AService。模块名不应该带有任何函数相关的信息,除非你是函数式接口即只有一个函数。

类仍然按照java面向对象的思想,每个模块都作为一个类,且类名与模块名相同。会使结构更容易维护

如果该类只负责提供方法,不持有任何成员变量,将该类定义为静态类,即所有方法都为静态方法

类中的成员依然需要区分公有和私有。

类的命名规范,与模块名一致

函数由于python的动态语言特点,要求必须在函数下方注释每个入参的数据类型和示例。

java项目

基本上跟上面python的一样,而且该方面的项目经验欠缺,先挖坑。ideal装阿里巴巴java规范插件,就能潜移默化中规范自己的代码了

通用要求开发任何功能,都必须有微服务的概念。最后上线不会提供依赖引用,而都是使用docker暴露接口进行rpc的调用

请统一使用远程环境,保证包和依赖的环境版本一致

所有数据库都应该抽象出一个template,业务逻辑和数据库逻辑(比如说缓存,比如说连接数据库这些功能)要分开实现

至于深入到代码编写的规范,可看重构与规范 黄杰

git规范要求

git分支管理

1.签出并创建 dev 分支,使其跟踪远程的 origin/dev 分支。

2.在dev分支基础上创建自己的分支 member* 。

3.在自己的分支上添加文件和修改文件

4.合并到dev分支

5.推送dev分支到origin/dev分支

注意远程仓库不需要存在member*的分支

git提交规范

git的工具是可以设置提交模板的,如果嫌复制麻烦可以谷歌一下

选项 [文件名] by 人名://选项包括 FIX :修复错误 Feature:添加新功能 DELETE:删除文件 ADD:添加文件

问题:

解决方案:

git请不要只提交一次,每完成一个函数或者功能就可以在本地提交一次,最后再提交到远程即可

git命令功能查询 git 知识点整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值