项目Alpha冲刺——代码规范、任务及计划

班级:软件工程1916|W
作业:项目Alpha冲刺(团队)
团队名称:Echo
作业目标:规定代码规范,明确冲刺任务与计划

目录

团队博客汇总

队员学号队员姓名个人博客地址备注
221600418黄少勇http://www.cnblogs.com/huangshaoyong
221600420黄种鑫http://www.cnblogs.com/huangzhongxin队长
221600421孔伟民http://www.cnblogs.com/kwm42
221600422李东权http://www.cnblogs.com/Ldqblogs
221600425林弘杰http://www.cnblogs.com/lhj20190212

代码规范

前端

一、文件组织形式

  • 所有项目源代码请放在项目根目录 src 目录下,项目所需最基本的文件包括 入口文件 以及 页面文件

    入口文件为 app.js ,页面文件建议放置在 src/pages 目录下

  • Taro 中普通 JS/TS 文件以小写字母命名,多个单词以下划线连接,例如 util.jsutil_helper.js

  • Taro 组件文件命名遵循 Pascal 命名法

  • Taro 中普通 JS/TS 文件以 .js 或者 .ts 作为文件后缀

  • Taro 组件则以 .jsx 或者 .tsx 作为文件后缀,当然这不是强制约束,只是作为一个实践的建议,组件文件依然可以以 .js或者 .ts 作为文件后缀

二、JavaScript 书写规范

  • 使用两个空格进行缩进
  • 字符串统一使用单引号
  • 关键字后面加空格,函数声明时括号与函数名间加空格
  • 属性前面不要加空格
  • 遇到分号时空格要后留前不留,逗号后面加空格,始终将逗号置于行末
  • 键值对当中冒号与值之间要留空格
  • 对于变量和函数名统一使用驼峰命名法
  • 不重复声明变量,不定义未使用变量
  • 对象定义存值器,一定要对于的定义取值器
  • 对象属性转行时注意统一代码风格
  • 不定义冗余的函数参数,避免多余的函数上下文绑定,嵌套代码块中禁止再次定义函数
  • 类名以大写字母开头,子类构造器一定要调用super,使用this之前确保super已调用
  • 同一模块有多个导入时一次性写完,return、throw、continue和break后不再跟代码
  • 使用===代替==,if/else关键字要与花括号保存在同一行
  • 避免使用常量作为条件表达式条件(循环语句除外)

三、组件及JSX书写规范

  • 组件以类的形式进行创建,并且当个文件中只能存在当个组件
  • 使用两个空格进行缩进,不要混合使用空格与制表符作为缩进
  • JSX 属性均使用单引号
  • 多个属性,多行书写,每个属性占用一行,标签结束另起一行
  • 终始在自闭合标签前面添加一个空格
  • 属性名称始终使用驼峰命名法
  • 用括号包裹多行 JSX 标签
  • 当标签没有子元素时,始终使用自闭合标签
  • 事件绑定均以on开头,子组件传入函数时属性名需要以on开头

后端

一、命名规则

  • 类名统一使用UpperCamelCase风格,如XmlService
  • 方法名,参数名,成员变量,局部变量统一使用lowerCamelCase风格,如inputUserId
  • 常量命名全部大写,单词间用下划线隔开,如MAX_STOCK_COUNT
  • 抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类
    命名以它要测试的类的名称开始,以 Test 结尾
  • 类型与中括号紧挨相连来表示数组
  • 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用
    单数形式
  • Service/DAO 层方法命名规约
    1) 获取单个对象的方法用 get 做前缀。
    2) 获取多个对象的方法用 list 做前缀,复数形式结尾如:listObjects。
    3) 获取统计值的方法用 count 做前缀。
    4) 插入的方法用 save/insert 做前缀。
    5) 删除的方法用 remove/delete 做前缀。
    6) 修改的方法用 update 做前缀。

二、代码风格

  • 采用 4 个空格缩进,禁止使用 tab 字符
  • if/for/while/switch/do 等保留字与括号之间都必须加空格
  • 注释的双斜线与注释内容之间有且仅有一个空格
  • 方法参数在定义和传入时,多个参数逗号后边必须加空格
  • 所有的覆写方法,必须加@Override 注解
  • 所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较
  • finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch

三、应用分层

图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于
Web 层,也可以直接依赖于 Service 层,依此类推:

应用分层

  • 开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行
    网关安全控制、流量控制等。
  • 终端显示层:各个端的模板渲染并执行显示的层。当前主要是 velocity 渲染,JS 渲染,
    JSP 渲染,移动端展示等。
  • Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。
  • Service 层:相对具体的业务逻辑服务层。
  • DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。

alpha冲刺任务

1、物业端冲刺任务:

  • 宿舍信息管理。(添加住户信息,删除住户信息,修改住户信息,查询
    住户信息)
  • 员工信息管理。(添加员工信息,删除员工信息,修改员工信息,查询
    员工信息)
  • 水电信息管理。(水电费查询,水电费生成,发送水电提醒)
  • 维修信息管理。(查看维修申请,发布维修公告)
  • 信息公告管理。(发布公告信息,查询公告信息,修改公告信息,删除
    公告信息)
  • 问卷调查。(问卷生成及发布,查看问卷列表,删除问卷信息,修改问
    卷信息)

物业端

小程序alpha冲刺任务:

小程序

  • 登录/绑定学号
  • 社区公告
  • 便民电话
  • 报修申请
  • 我的账单
  • 我的消息
  • 我的工单(报修,投诉记录)

alpha冲刺计划

小程序

  • 完成整体框架搭建
  • 完成登录及绑定模块
  • 完成公告模块(含最新公告、小区公告、我的消息)
  • 完成账单模块(查询、缴费)
  • 完成报修、投诉模块(含提交、查询)
  • 完成问卷调查模块(查询,提交)

Web端

  • 完成整体框架搭建

  • 完成登录模块

  • 完成宿舍信息管理模块(增删改查)

  • 完成员工信息管理模块(增删改查)

  • 完成缴费信息管理模块(增加、查询)

  • 完成维修、投诉管理模块(查询、修改)

  • 完成信息公告模块(查询、发布)

  • 完成问卷调查模块(生成,发布,查询)

转载于:https://www.cnblogs.com/magicNumber/p/10759691.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Alpha-Beta剪枝算法是一种用于减少搜索树节点的数量的算法,常用于博弈树搜索问题。其基本思想是在搜索过程中,当搜索到某个节点时,如果已经可以确定该节点不会影响最终的决策结果,就可以提前结束该节点的搜索,从而减少搜索的节点数,提高搜索效率。 Alpha-Beta剪枝算法的伪代码如下: ``` function alphabeta(node, depth, alpha, beta, maximizingPlayer) if depth = 0 or node is a terminal node return the heuristic value of node if maximizingPlayer v := -∞ for each child of node v := max(v, alphabeta(child, depth - 1, alpha, beta, FALSE)) alpha := max(alpha, v) if beta ≤ alpha break (* β cut-off *) return v else v := +∞ for each child of node v := min(v, alphabeta(child, depth - 1, alpha, beta, TRUE)) beta := min(beta, v) if beta ≤ alpha break (* α cut-off *) return v ``` 其中,`node`表示当前的节点,`depth`表示当前搜索的深度,`alpha`和`beta`表示当前搜索到的最小值和最大值,`maximizingPlayer`表示当前是极大节点还是极小节点。 该算法的核心思想是在搜索树的遍历过程中,动态地维护当前搜索到的最小值和最大值,以及当前搜索深度,根据这些信息来判断是否需要剪枝。具体来说,如果当前是极大节点,那么只要有一个子节点的值大于等于`beta`,就可以剪枝;如果当前是极小节点,那么只要有一个子节点的值小于等于`alpha`,就可以剪枝。这样就可以减少搜索的节点数,提高搜索效率。 需要注意的是,在实际应用中,一般还会加入一些启发式的方法来进一步减少搜索的节点数,提高算法的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值