zoukankan      html  css  js  c++  java
  • alpha冲刺—冲刺计划&代码规范

    一、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
        
  • 相关阅读:
    js 获取和设置css3 属性值的实现方法
    API的自动化测试
    删除html标签或标签属性以及样式
    JS+CSS实现数字滚动
    video元素和audio元素相关事件
    SDT v0.0.1 上线
    safari浏览器fixed后,被软键盘遮盖的问题—【未解决】
    js中DOM事件探究
    使用Web存储API存取本地数据
    剑指offer(Java版)第七题:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead, 分别完成在队列尾部插入结点和在队列头部删除结点的功能。
  • 原文地址:https://www.cnblogs.com/team-CalabashBrothers/p/12823402.html
Copyright © 2011-2022 走看看