alpha冲刺—冲刺计划&代码规范

行吟阁 2020-05-03

一、Alpha冲刺任务

1、前端部分

  • 界面顶栏、侧栏html+css+js
  • 完成用户相关功能模块界面html+css+js
  • 完成文件管理功能模块界面html+css+js
  • 完成日程安排功能模块界面:日程列表,添加日程html+css+js
  • 完成任务面板界面:待处理、进行中、已完成任务列表、任务详情html+css+js
  • 完成项目群聊界面html+css+js

2、后端部分

  • 后端数据模型

  • 用户功能模块接口——用户注册、用户登录、查看用户信息、用户注销

  • 项目基础功能模块接口——新建项目任务,查看项目,查看项目成员,添加/移除项目管理员等

  • 项目任务功能模块接口——查看项目任务

  • 接口文档撰写

3、服务器部署

4、杂项

  • 文档撰写
  • 代码规范与定义
  • 博客撰写
  • 每日会议总结

具体日程安排

时间区间任务内容
4.27进行项目环境配置、项目启动会议
4.27-4.30各模块功能工作初期
4.30-5.3各模块任务大体完成,有基本功能实现
5.4-5.6功能模块优化、深入测试

二、Alpha冲刺具体分工

人员分工具体描述
021700511后端自动化部署;用户模块接口实现;项目基础模块接口实现;项目任务模块接口实现;项目文件模块接口实现;项目群聊模块接口实现
061700150前端文件管理功能界面完成html+css+js交互;群组聊天js;日程安排js;任务面板js;菜单栏、顶栏js交互;
071703434测试项目基础模块测试用例设计;项目任务模块测试用例设计;项目文件模块测试用例设计;项目群聊模块接口测试用例设计
081700316后端完成后端数据模型
221600208文档撰写记录每日会议文档记录,发布冲刺日志
221701103前端任务面板界面html+css;任务创建界面;任务详情界面;日程安排html+css
221701201前端界面左侧菜单栏html+css;界面顶栏与登录界面html+css;群组聊天html+css;

三、代码规范

前端

  • 缩进 每次缩进3个空格
data.forEach((line) => {
   var res = []
   function match(reg, hasTwoPvovinces) { //匹配正则,清洗数据以及初始化
      if (/\/\//.test(line)) return false

Object类型的初始化可以并排

const CmdParam = {  //存放命令参数
   log: [], out: [], date: [], type: [], province: [],
}
  • 变量命名
    驼峰命名
var reading = ‘‘,
   article = ‘‘,
   argv = process.argv.slice(2),
   cmd = argv.join(‘ ‘)
  • 每行最多字符数
    100个字符,以确保显示屏能在宽度上容纳两个文本框为准
  • 函数最大行数
    以实现一个粒度合适的基准功能区分,限定数量的话一般不超过40
  • 函数、类命名
    驼峰命名
function appendData(date) {
   var fileName = CmdParam.log[0] + date + ‘.log.txt‘
  • 常量
    外部引入(require)的变量全部小写
    数据型常量全部大写
    引用型常量首字母大写
const fs = require(‘fs‘)
const readline = require(‘readline‘)  //读写文件的自带库
const prior = require(‘./Lib.js‘)
const MONTH = [0, 31, 28, 30, 51, 30, 31, 31, 30, 31, 30, 31]  //月份常量
const Provinces = new Set()  //存放省份的集合
const Total = {  //存放统计数据
   ip: {}, sp: {}, dead: {}, cure: {},
}
const CmdParam = {  //存放命令参数
   log: [], out: [], date: [], type: [], province: [],
}
  • 空行规则
  • 注释规则
    行内,空格加斜杠
if (!fs.existsSync(fileName)) return  //如果没有对应日期的文件,就忽略 
   var data = fs.readFileSync(fileName, ‘utf-8‘)  //效率非常低的同步读取

块级注释

/*
... ...
*/
  • 操作符前后空格 逗号后只有一个空格
const CmdParam = {  //存放命令参数
   log: [], out: [], date: [], type: [], province: [],
}

操作符间均有1个空格

var fileName = CmdParam.log[0] + date + ‘.log.txt‘
  • 其他规则
    匿名函数
process.on(‘uncaughtException‘, (e) => {
   console.error(‘错误:‘, e.message)
})

后端

Python的代码风格基本按照PEP8的要求进行编写

  • 缩进

    每一级缩进使用4个空格。

    def func():
          if 1 != 2:
              pass

    续行若第一行有参数则应该与其第一行参数对齐

    s = func(var_one, var_two,
             var_three, var_four)

    若无应该则增加缩进以区别其他行

    s = func(
             var_one, var_two,
             var_three, var_four)
        
        
        def func2(
             var_1, var_2,
             var_3, var_4):
            print(var_1, var_2, var_3, var_4)
  • 变量命名

    小写字母加下划线分隔, 可用单个小写字母。

    num_list = [2, 3, 4 , 5, 6]
        max_num = num_list[0]
        max_index = 0
        for i in range(len(num_list)):
            if num_list[i] > max_num:
                max_num = num_list[i]
                max_index = i
        print(max_index, max_num)
  • 每行最多字符数

    一般情况下,每行字符数不超过80个字符,以屏幕大小可做一些调整。

  • 函数最大行数

    除一些定义外,函数的具体执行语句一般不超过20行。

  • 函数、类命名

    类名为大写字母开头的驼峰命名法, 一般情况下只使用一个单词

    函数名则与变量命名方法相同

  • 常量

    全大写字母加下划线分隔

    MAX_TIMES = 20

  • 空行规则

    函数和类的定义:前后用两个空行隔开

    类的方法:前后用一个空行隔开

    相关的功能组可以用额外的一个空行隔开

    import re
    
    
    def func1():
        pass
        
    
    def func2():
        pass
        
     
    class Class1():
        def __init__(self):
            pass
        
        def func3(self):
            pass
    
    
    def func4():
        pass
        
        
    if __name__ == "__main__":
        pass
  • 注释规则

    1. 行内注释

      对某一行的内容注释。

      注释与代码之间至少两个空格, 注释以#和一个空格开始。

      s = s + 1 if not isinstance(s, int) else 0   # 若s不是数字则设为0
    2. 块注释

      对某一块内容(如函数定义,或一段无空行的代码)注释

      注释缩进与内容相同,注释与内容之间无空行, 注释以#和一个空格开始。

      # 处理字符串s的函数
      def fun_s(s):
         pass
  • 操作符前后空格

    各种括号后, 逗号、冒号前, 函数参数括号前, 索引括号前不接空格

    逗号后接一个空格

    list_1 = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]
    print(list_1[1:3])

    二元运算符及赋值语句的符号前后空格数相同,一般为一个空格。

    参数及函数默认值‘=‘前后不加空格

    def sum(num1, num2, num3=0, num4=4):
        result = num1 + num2 + num3 + num4
        print(result)
    
    
    func(1, 2, num4=2)
  • 其他规则

    • 导入 不同模块应当分开导入

      import os
      import sys

      而不是

      import os, sys

      同一模块下的不同部分可一起导入

      from flask import Flask, request

相关推荐