• 刚下飞机——代码规范、本次冲刺任务与计划


    Alpha冲刺

    这个作业属于哪个课程 2020春|W班
    这个作业要求在哪里 团队作业第五次——站立式会议+alpha冲刺
    团队名称 刚下飞机
    这个作业的目标 记录本项目的代码规范、Alpha冲刺的任务与计划
    作业正文 刚下飞机——代码规范、本次冲刺任务与计划
    其他参考文献 CSDN 《构建之法》

    代码规范

    后端JAVA代码规范

    该部分主要参考《阿里巴巴Java开发手册》

    (一) 命名规约:

    1. 代码的所有命名都不允许以下划线或美元符号开始,也不能以下划线或美元符号结束

      反例: _name / __name / $Object / name_ / name$ / Object$
      
    2. 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。

    3. 类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DAO / BO / DTO / VO等。

      正例:MarcoPolo / UserDAO / XmlService / TcpUdpDeal /   TaPromotion 
      反例:macroPolo / UserDAo / XMLService / TCPUDPDeal /   TAPromotion
      
    4. 方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式(在本项目中id对应的大写应为ID)。

      正例: userName / getName() / userID
      
    5. 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
      正例: MAX_STOCK_COUNT
      反例: MAX_COUNT

    6. 测试类命名以它要测试的类的名称开始,以Test结尾。

      正例: QuestionServiceTest
      
    7. 杜绝完全不规范的缩写,避免望文不知义。

      反例: AbstractClass“缩写”命名成AbsClass;condition“缩写”命名成 condi,questionID“缩写”命名成qid,此类随意缩写严重降低了代码的可阅读性。
      
    8. 对于Service和DAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别。

      正例:AnswerServiceImpl实现AnswerService接口。
      
    9. 各层命名规约:

      Service / DAO层

      1. 获得单个对象用get做前缀
      2. 获得多个对象用list做前缀
      3. 插入的方法用add做前缀
      4. 删除的方法用delete做前缀
      5. 修改的方法用update做前缀

    (二) 常量定义

    1. 不允许出现任何魔法值(即未经定义的常量)直接出现在代码中。

      反例:  String key="Id#taobao_"+tradeId;
             cache.put(key,  value);
      

    (三) 格式规约

    1. 大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:

      • 左大括号前不换行。

      • 左大括号后换行。

      • 右大括号前换行。

      • 右大括号后还有else等代码则不换行;表示终止右大括号后必须换行。

          正例:
                if (a == b) {
                   result = true;
                } else {
                    result = false;
                }
          反例:
                if (a == b)
                {
                    result = true;
                }
                else
                {
                    result = false;
                }
        
    2. if/for/while/switch/do等保留字与左右括号之间都必须加空格。

    3. 除了一元运算符外,其他的运算符左右必须加一个空格。

    说明:运算符包括赋值运算符=、逻辑运算符&&、加减乘除符号、三目运行符等。
    
    1. 缩进采用4个空格,禁止使用tab字符。

    2. 单行字符数限制不超过 120个,超出需要换行,换行时遵循如下原则:

      • 第二行相对第一行缩进 4个空格,从第三行开始,不再继续缩进,参考示例。

      • 运算符与下文一起换行。

      • 方法调用的点符号与下文一起换行。

      • 在多个参数超长,逗号后进行换行。

      • 在括号前不要换行,见反例。

          正例:
              StringBuffer sb = new StringBuffer();
              //超过120个字符的情况下,换行缩进4个空格,并且方法前的点符号一起换行
              sb.append("zi").append("xin")...
                  .append("huang")...
                  .append("huang")...
                  .append("huang");
              反例:
              StringBuffer sb = new StringBuffer();
              //超过120个字符的情况下,不要在括号前换行
              sb.append("zi").append("xin")...append
                  ("huang");
              //参数很多的方法调用可能超过120个字符,不要在逗号前换行
              method(args1, args2, args3, ...
                  , argsX);
        
    3. 方法参数在定义和传入时,多个参数逗号后边必须加空格。

    (四) 注释规约

    1. 类、类属性、类方法的注释必须使用Javadoc规范,使用/*内容/格式,不得使用//xxx方式。

    2. 所有的抽象方法(包括接口中的方法)必须要用Javadoc注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。

    3. 方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/ */注释,注意与代码对齐。

    (五) 其他

    1. 所有的覆写方法,必须加@Override注解。

    2. 在if/else/for/while/do语句中必须使用大括号,即使只有一行代码,避免使用下面的形式:if (condition) statements;

    前端代码规范

    HTML

    1. 元素名、属性名全小写

    2. 属性值由双引号包围

    3. 关闭所有 HTML 元素

    4. 缩进采用4个空格,禁止使用tab字符

    CSS

    1. 选择器一般不要写超过3个

    2. 少用!important

    3. 一律小写,中划线

    4. 杜绝完全不规范的缩写,避免望文不知义。

    5. 不要随便使用id

    JS

    (一) 命名规约

    1. 代码的所有命名都不允许以下划线或美元符号开始,也不能以下划线或美元符号结束

    2. 方法名、参数名、变量都统一使用lowerCamelCase风格,必须遵从驼峰形式(在本项目中id对应的大写应为ID)。

    3. 杜绝完全不规范的缩写,避免望文不知义。

    (二) 格式规约

    1. 大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则左大括号不换行

    2. 除了一元运算符外,其他的运算符左右必须加一个空格。

    3. 缩进采用4个空格,禁止使用tab字符。

    (三) 注释规约

    1. 方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/ */注释,注意与代码对齐。

    Alpha冲刺任务与计划

    日期 完成的功能模块
    4.27 查看问题
    4.28 发布回答、发布评论
    4.29 查看回答
    4.30 修改密码、采纳回答、查看评论
    5.1 置顶回答、发布回复
    5.2 取消匿名提问/回答、修改绑定邮箱
    5.3 点赞/取消点赞评论、回复
    5.4 收藏问题、细节完善
    5.5 前提完善交互体验、部署前本地测试
    5.6 部署到服务器测试
  • 相关阅读:
    TVB西游记-观音的眼泪化作金河送唐僧回长安
    天下没有免费的午餐是什么意思
    什么样的经历、体验或者行为等能彻底的改变一个人
    看人先看什么
    python字符串中查找指定子字符串
    字符串的分隔及连接
    流媒体服务器音视频直播平台的开发为什么需要CDN?
    微信公众号小程序如何做流媒体视频直播?
    搭建专属于自己的视频流媒体直播/点播平台都需要注意哪些事项?
    音视频流媒体服务器的虚拟直播推流失败断流无法播放如何解决?
  • 原文地址:https://www.cnblogs.com/JustGotOffThePlane/p/12808885.html
Copyright © 2020-2023  润新知