组织介绍

这个世界的改变从我们开始

本文以Python编码为例对代码规范文档进行编辑

[TOC]

1 仓库说明 - 20191227更新 - 陈儒佑

本仓库的新建主要用于组内成员日常的代码积累,前期用于适应码云代码托管的使用,转变与规范代码习惯。未来本仓库的意义在于回溯平常编写的小灵感和小模块,为后期更大的项目做准备

2 代码规范 - 20191227更新 - 陈儒佑

  1. 代码命名均强制使用驼峰命名法 —— helloWorld(小驼峰)、HelloWorld(大驼峰)、HELLOWORLD(全英大写)。

1.变量名 使用 小驼峰命名法(helloWorld)
示例:dateTime = '2019-12-27'
2.常量名 使用 全英大写命名法(HELLOWORLD)
示例:IPADDRESS = '127.0.0.1'
3.函数名 使用 大驼峰命名法(HelloWorld)
示例:

# -*-coding:utf-8-*-

# 代码示例1
def HelloWorldDemo1(dateTime, author = '陈儒佑'):
'''
	dateTime: 打印日期。字符串,必填
	author: 作者名。字符串,选填,默认为<陈儒佑>
'''
	print('Hello,World', dateTime, author)
# -*-coding:utf-8-*-

# 代码示例2
def HelloWorldDemo2(dateTime, author = '陈儒佑'):
'''
	dateTime: 打印日期。字符串,必填
	author: 作者名。字符串,选填,默认为<陈儒佑>
'''
	callBackDict = {
	'dateTime': dateTime,
	'author': author
	}
	return callBackDict

4.过渡用函数名 使用 大驼峰命名法(_HelloWorld)
示例:

# -*-coding:utf-8-*-

# 过渡代码示例
def _ChildrenFunctionHelloWorld(dateTime, author = '陈儒佑'):
'''
	dateTime: 打印日期。字符串,必填
	author: 作者名。字符串,选填,默认为<陈儒佑>
'''
	callBackDict = {
	'dateTime': dateTime,
	'author': author,
	}
	return callBackDict

5.文件命名 大驼峰分隔命名法(Global_Module_ChenRuyou_20191227)

5.1 文件夹 [应用范围]_[类别]_[名称]_[创建人]_创建日期
示例:Global_Module_ChenRuyou_20191227
示例:Local_Config_ChenRuyou_20191227
示例:Global_Module_20191227
示例:Local_Config_20191227
示例:Global_Module_Socket_ChenRuyou_20191227
示例:Local_Config_Tmall_20191227
个人单独负责项目,文件夹命名可不写创建人。团队协作项目必须写入创建人
创建时间只登记第一次创建时间,后期维护时无需修改,除非大版本更新外,创建时间不允许私自修改
综合性项目的文件名称修改时需要通知到业务对应的上下游

5.2 文件 业务类型_[类别]_名称_创建日期
示例:Module_Socket_TcpServer_20191227
同一业务模块下的函数、类等均由创建人负责开发维护。即同一文件夹下不允许多人同时负责开发维护
业务情况相近时,不同开发者负责的项目需要按开发者划分,调用时按开发者区分
特殊情况根据业务安排调整除外

6.数据库命名 小驼峰分隔命名法(table_output_differentMonitor_comprehensive_20191216)

6.1 数据库 database_数据库名_创建时间
示例:Database_JDCenterServer_20191207

6.2 数据表 table_[类别]_[一级分类]_[二级分类]_[三级分类]_[四级分类]_表名_[创建人]_创建时间
示例:table_output_differentMonitor_comprehensive_20191216

数据表中的创建人非必要添加内容,但项目开发需要时需要写入创建人
一般情况下分类最多使用到三级,超过四级的分类需要重新确定业务设计流程是否存在异常
特殊情况根据业务安排调整除外

  1. 代码缩进为4个半角空格,注释及说明类关于需要使用中文缩进的,使用全角空格。严禁使用Tab缩进(IDE可以调整Tab键默认4空格缩进)。PS:本文中的代码示例是通过MarkDowm工具自动生成,代码缩进可能会由显示导致出现偏差,具体情况可向陈儒佑了解
  2. 变量与运算符之间需要用一个空格分隔。

示例:

# -*-coding:utf-8-*-

# 代码示例
def HelloWorld(dateTime, author = '陈儒佑'):
'''
	dateTime: 打印日期。字符串,必填
	author: 作者名。字符串,选填,默认为<陈儒佑>
'''
	if dateTime != '2019-12-27':
		callBackDict = {
		'dateTime': dateTime,
		'author': author
		}
	return callBackDict
  1. 尽可能使用面向对象编程,从模块化开发开始训练相关的习惯。项目文件简单结构如下:
Project_HelloWorld
├-main1.py
├-main2.py
├-main3.py
├-Module_Module1_20191227
	└-Module_MSSQL.py
├-Module_Module1_20191227
	└-Module_MSSQL.py
  1. 所有的正式代码 必须 添加注释说明,内容包括但不限于:设计思路、原理、实现方法、应用算法、变量说明等等。正式代码包括但不限于:上传到码云托管的组织项目、团队协作项目、综合类项目等。
  2. 相对综合的项目,需要对相关业务模块进行文件区分。
  3. 所有的代码默认字符编码均使用utf-8,业务需要更换其他字符编码的,需要在项目中特别说明,否则尽量使用utf-8转编码
  4. 代码编辑器及IDE,原则上推荐使用VSCode,但不强制要求,使用最适合自己的编辑器

3 代码规范示例 - 20191227更新 - 陈儒佑

# -*-coding:utf-8-*-

'''
	模块简介:
	开发者  :陈儒佑
	启动时间:2019-12-27
	对接部门:信息系统部
	模块说明:1.代码规范示例说明
	     2.序号需要对齐,中文类文本对齐可以使用全角空格
	     3.库的引用,一行只引用一个模块,不允许使用单行引用多个模块的格式
	维护记录:20191227 第一次维护代码示例1
	     20191227 第一次维护代码示例2
'''

from datetime import datetime
from datetime import date
from time import sleep

# 代码示例
def HelloWorld(dateTime, author = '陈儒佑'):
'''
	dateTime: 打印日期。字符串,必填
	author: 作者名。字符串,选填,默认为<陈儒佑>
'''

	if dateTime != '2019-12-27':
		callBackDict = {
		'dateTime': dateTime,
		'author': author
		}
	return callBackDict

if __name__ == "__main__":
    print(HelloWorld('2019-12-27'))

4 流程规范 - 20191227更新 - 陈儒佑

  • 所有当天已完成的项目代码均需要上传到码云中,并按照本代码规范进行整理,所有代码上传至 develop ,已默认设置为 默认分支 。经审核通过后的代码会存至 master

  • 所有的模块均以 码云 上对应仓库的中的 master 的版本为最终版本,其他版本为开发版,正式上线的项目不允许使用开发版、测试版模块

5 项目文档编写 - 20191227更新 - 陈儒佑

  • 项目文档使用Markdown格式编写和提交。可以使用Typora、VSCode或RStudio,亦或者使用其他的Markdown工具,文档编写规范暂不做硬性要求,可参考本文的行文风格。编写完毕后随项目代码上传至 码云 相对应的项目文件中。
  • 项目文档需要包含但不限于:项目说明、环境要求(依赖库、动态链接库、相关工具)、部署步骤、使用说明(引用说明等)、关键技术说明、开发日志等相关内容

6 使用说明文档编写 - 20191227更新 - 陈儒佑

  • 所有对内模块的使用说明文档可直接集成到项目代码注释说明中
  • 所有对外的项目、工具、优化等 必须 编写使用说明文档,并对需求部门提供操作培训。
成就
0
Star
0
Fork
成员(1)
Yogurt_cry

搜索帮助