zoukankan      html  css  js  c++  java
  • 201720181 JaWorld 第六、七周作业

    2017-2018-1 JaWorld 第六、七周作业

    修改需求规格说明书

    上次的《需求规格说明书》初稿有哪些不足?

    • 王译潇同学回答:

      1. 引言和目的性考虑的不是很周全。

      2. 应该花时间把要做的产品原型先搞清楚,游戏更应该把功能定义好。

      3. 确定前端后端用什么来开发。

      4. 不要一个人做太多方面的工作。

      5. 不是很容易保证产品不拖延。

      6. check时间间隔不能过长。

      7. 前期的市场调研不是很充分全面。

      8. 用户背景不够全面具有代表性。

    • 张师瑜补充:

      1. 关于游戏整体的界面设计操作等不够完善。

      2. 软件通信接口等需求暂未确定,还待补充。

    后端架构

    • 将静态图片作为游戏舞台,把所有移动物体作为精灵,我们定义了Sprite类,即精灵类,游戏中的飞机、子弹、奖励道具等都是继承自该类,我们通过moveTo()、move()等方法控制精灵的位置。

    编码规范

    原则

    统一:统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。

    达意:达意是指,标识符能准确的表达出它所代表的意义,比如: newSupplier, OrderPaymentGatewayService等;而 supplier1, service2,idtts等则不是好的命名方式。准确有两成含义,一是正确,而是丰富。如果给一个代表供应商的变量起名是 order,显然没有正确表达。同样的,supplier1, 远没有targetSupplier意义丰富。

    简洁:简洁是指,在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。比如:theOrderNameOfTheTargetSupplierWhichIsTransfered太长, transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。

    骆驼法则:Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如: supplierName, addNewContract,而不是 supplier_name, add_new_contract。

    英文:尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免拼音与英文混用。比如表示归档,用archive比较好。

    包名规范

    使用小写和数字组合,不要出现其他字符和符号。例如:com.aps.alg

    类名命名规范

    首字母大写
    后缀命名

    方法名命名规范

    • 首字母小写,动词在前

    变量命名规范

    静态常量:全大写用下划线分割

    枚举:全大写,用下划线分割

    其他:首字母小写,骆驼法则

    局部变量: 参数和局部变量名首字母小写,骆驼法则。尽量不要和域冲突,尽量表达这个变量在方法中的意义。

    排版风格

    规则一:程序块采用缩进风格编写,缩进为4个空格位。排版不混合使用空格和TAB键。

    规则二:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符,后不应加空格。

    规则三:函数体的开始,类的定义,结构的定义,if、for、do、while、switch及case语句中的程序都应采用缩进方式。

    规则四:功能相对独立的程序块之间或for、if、do、while、switch等语句前后应加一空行。

    规则五:if、while、for、case、default、do等语句自占一行。

    规则六:若语句较长(多于80字符),可分成多行写,划分出的新行要进行适应的缩进,使排版整齐,语句可读。

    规则七:一行最多写一条语句。

    规则八:类先成员变量,后内部函数接口;关键字public、protected、private依次按照顺序排版。

    规则九:编写条件的时候采用“常量==变量”格式

    工作分工

    成员 分工 比例
    陈是奇 查资料 5%
    马平川 后端架构 5%
    王译潇 编码规范 30%
    李昱兴 查资料 5%
    林臻 查资料 5%
    张师瑜 推进工作进展、修改说明书的内容、完成markdown形式以及上传码云、写博客 50%

    感想

    • 这周事情很多,团队博客进行的较晚。但是即使我每天都督促组内,大部分成员还是周日下午给我导致我准备的很匆忙。希望以后这种现象能够避免。(from 张师瑜)
  • 相关阅读:
    supervisor(一)基础篇
    linux添加开机自启动脚本示例详解
    suse 不能远程登录
    LintCode,hihoCoder,LeetCode有什么区别?
    windows 下安装nodejs 要怎么设置环境变量
    Java 集合:HashSet 与 ArrayList
    Java ArrayList、Vector和LinkedList等的差别与用法(转)
    一行代码实现java list去重
    25 highest paying companies: Which tech co outranks Google, Facebook and Microsoft?
    Chart: Who pays the most in Seattle for software engineers
  • 原文地址:https://www.cnblogs.com/Java1623/p/7862421.html
Copyright © 2011-2022 走看看