CSDN发布时间:2018年03月22日 14:49:03
小组第七次会议于3月21日晚举行,我们确认了上次会议提出的后端架构的完整性、订立了开发规范,并且确定了每个人所负责的开发任务。组长针对组员在架构和规范中的疑惑作了说明和解答。
组长说明时的板书
一、关于架构
上次所有的架构设置均基于scala语法,而此次做出一些修改。将四个规则Checker分配至java,由三名使用java的后端人员完成。在java中,对象object应变为static class。
关于Checkers作一些更进一步的解释。
“Checkers”的意思是“用于Check的内容“,即规则将根据类别分为四个静态的类,当全局控制器GodActor遇到规则相关问题时,将到Checkers中进行相关搜索调用。因此,Checkers应该不随其外部变量的改变而发生变化。
这种特点反映在具体的特征上,即为以下两点:
1、无状态,即尽可能不要定义全局变量,其有可能导致规则本身的变化。
2、类中的方法不依赖于实例,而直接依附于类。
二、开发规范
1、开发过程中自顶而下、自底而上的开发思路都可以使用。
2、类中函数运行结果应该相对独立,即类中每个函数的功能尽可能精确且单一,而复杂的功能可以通过组合这些函数得到。
3、遵循阿里Java开发规范(例如:不要同一个变量具有多个语义、函数命名使用lower camel case、类名upper camel case,函数名动词+名词等),与其不同的是变量命名风格使用Unix风格。
4、数据类不要有与整体逻辑相关的函数(可以有单纯处理本身数据得函数),类成员直接暴露。
5、尽可能在写函数体前,定义好函数的接口,并且据此编写单元测试。
6、case class的使用(因Java与Scala的不同而放弃)
7、git开发流程
三、现场示范的内容
1、示范单元测试。
2、示范Scala:case class(在测试case class的过程中发现Java的case class不能用于修改,因此放弃)
3、测试git工作流程和每个人的contribution。
四、具体开发任务
由于组长的技术栈较为全面,因此组长的开发任务较重。
MapChecker涉及的要素和难点非常多,由两人合作完成。
(1)后端部分
UsersDB、GodActor、SessionManageActor及MatcherActor 隆晋威
GambleChecker和PlayersChecker 朱池苇
MapChecker 欧阳炳濠&张世聪
SkillsChecker在Map完成后再抽出组员进行
(2)前端部分
所有前端部分由吴宏宇及付千山两位同学完成。
此次会议后项目已经正式进入主体开发阶段。