关键词:
这个作业属于哪个课程 | 2021春软件工程实践S班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业目标 | β冲刺代码规范 |
其他参考文献 | 阿里巴巴Java开发手册终极版v1.3.0, Vue.js风格指南 |
代码规范
后端代码规范
后端代码规范参考:阿里巴巴Java开发手册终极版v1.3.0
一、缩进
- 缩进采用4个空格,禁止使用tab字符。
二、变量命名
- 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
- 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
- 成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。
三、函数、类命名
- 方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。
- 类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO / BO / DTO / VO等。
- 异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾。
四、包命名
- 包名必须全小写
五、常量命名
- 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
六、各层命名规约
- DAO层命名规约(1-7为前缀):
- 单条插入:insert
- 多条插入:batchInsert
- 单条查询:selectOne
- 多条查询:selectList
- 更新:update
- 统计:count
- 删除:delete
- 根据XXX删改查:后缀byXXX
- Service层命名规约(1-7为前缀):
- 单条插入:add
- 多条插入:batchAdd
- 单条查询:find
- 多条查询:findXXXList
- 更新:modify
- 统计:sum
- 删除:remove
- 根据XXX删改查:后缀byXXX
七、每行最多字符数
单行字符数限制不超过120个,超出需要换行,换行时遵循如下原则:
- 第二行相对第一行缩进 4个空格,从第三行开始,不再继续缩进。
- 运算符与下文一起换行。
- 方法调用的点符号与下文一起换行。
- 在多个参数超长,逗号后进行换行。
- 在括号前不要换行。
八、函数最大行数
- 函数的规模尽量限制在100行以内。
说明:不包括注释和空格行。
九、空行规则
- 相对独立的程序块之间、变量说明之后必须加空行。
说明 :
以下情况应该用空行分开:
1)函数之间应该用空行分开;
3)用空行将代码按照逻辑片断划分;
十、注释规则
- 类、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用// xxx 方式
- 方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释,注意与代码对齐。
十一、操作符前后空格
- 值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“ =”、“ +=”
“ >=”、“ <=”、“ +”、“ *”、“ %”、“ &&”、“ ||”、“ <<” 、“ ^” 等二元操作符的前后应当加空格。 - 一元操作符如“ !”、“ ~”、“ ++”、“ --”、“ &”( 地址运算符) 等前后不加空格。
- 像“[ ]”、“ .”、“ ->” 这类操作符前后不加空格。
- 左括号和后一个字符之间不出现空格;同样,右括号和前一个字符之间也不出现空格。
- if/for/while/switch/do等保留字与左右括号之间都必须加空格。
- 函数名之后不要留空格,紧跟左括号\' ( \' ,以与关键字区别。
- 方法参数在定义和传入时,多个参数逗号后边必须加空格。
- \' , \' 之后要留空格。如果\' ; \' 不是一行的结束符号 ,其后也要留空格。
十二、单元测试
- 单元测试应该是全自动执行的,并且非交互式的。测试框架通常是定期执行的,执行过程必须完全自动化才有意义。
输出结果需要人工检查的测试不是一个好的单元测试。单元测试中不准使用 System.out 来进行人肉验证,必须使用 assert 来验证。 - 单元测试代码必须写在如下工程目录:src/test/java,不允许写在业务代码目录下。
- 单元测试的基本目标:语句覆盖率达到 70%;核心模块的语句覆盖率和分支覆盖率都要达到 100%
十三、安全规约
- 未登录用户除了登录、修改密码的其他请求必须被拦截。
- 采用预编译防止 SQL 注入,禁止字符串拼接 SQL 访问数据库
- 用户请求传入的任何参数必须做有效性验证。
- 表单、AJAX 提交必须执行 CSRF 安全过滤。
- 对用户敏感数据进行处理。
十四、其他规约
- 大括号的使用约定。如果是大括号内为空,则简洁地写成即可,不需要换行;
如果是非空代码块则:左大括号和右大括号都单独占一行。 - 日期格式为:yyyy-MM-dd HH:mm:ss
例:2021-04-23 16:06:20
前端代码规范
前端代码规范参考:Vue.js风格指南
一、组件名为多个单词
组件名应该始终是多个单词的,根组件 App 以及
这样做可以避免跟现有的以及未来的 HTML 元素相冲突,因为所有的 HTML 元素名称都是单个单词的。
二、组件数据
组件的 data 必须是一个函数。
当在组件中使用 data property 的时候 (除了 new Vue外的任何地方),它的值必须是返回一个对象的函数。
三、Prop 定义必要
Prop 定义应该尽量详细,至少需要指定其类型。
四、为 v-for 设置键值
总是用 key 配合 v-for,以便维护内部组件及其子树的状态。甚至在元素上维护可预测的行为,比如动画中的对象固化 (object constancy),也是一种好的做法。
五、避免 v-if 和 v-for 用在一起
永远不要把 v-if 和 v-for 同时用在同一个元素上。
六、为组件样式设置作用域
对于应用来说,顶级 App 组件和布局组件中的样式可以是全局的,但是其它所有组件都应该是有作用域的。对于组件库,我们应该更倾向于选用基于 class 的策略而不是 scoped attribute。
七、私有 property 名
使用模块作用域保持不允许外部访问的函数的私有性。如果无法做到这一点,就始终为插件、混入等不考虑作为对外公共 API 的自定义私有 property 使用 $_ 前缀。并附带一个命名空间以回避和其它作者的冲突(比如 $yourPluginName)。
八、组件文件强烈推荐
只要有能够拼接文件的构建系统,就把每个组件单独分成文件。
九、单文件组件文件的大小写
单文件组件的文件名应该始终是单词大写开头 (PascalCase)。
十、基础组件名
应用特定样式和约定的基础组件 (也就是展示类的、无逻辑的或无状态的组件) 应该全部以一个特定的前缀开头,比如 Base、App 或 V。
十一、单例组件名
只应该拥有单个活跃实例的组件应该以 The 前缀命名,以示其唯一性。
十二、紧密耦合的组件名
和父组件紧密耦合的子组件应该以父组件名作为前缀命名。
十三、JS/JSX 中的组件名大小写
JS/JSX 中的组件名应该始终是 PascalCase 的
十四、Prop 名大小写强烈推荐
在声明 prop的时候,其命名应该始终使用 camelCase,而在模板和 JSX 中应该始终使用 kebab-case。
十五、多个 attribute 的元素
多个 attribute的元素应该分多行撰写,每个 attribute 一行。
在 JavaScript中,用多行分隔对象的多个 property 是很常见的最佳实践,因为这样更易读。模板和 JSX 值得我们做相同的考虑。
十六、带引号的 attribute 值强烈推荐
非空 HTML attribute值应该始终带引号 (单引号或双引号,选JS里不用的那个)。
十七、组件/实例选项中的空行
当你的组件开始觉得密集或难以阅读时,在多个 property 之间添加空行可以让其变得容易。在一些诸如 Vim 的编辑器里,这样格式化后的选项还能通过键盘被快速导航。
团队作业六——beta冲刺+事后诸葛亮博客汇总
...求在哪里团队作业六——beta冲刺+事后诸葛亮团队名称老九门这个作业的目标站立式会议+Beta冲刺的汇总其他参考文献无目录换组交接博客alpha阶段问题总结随笔凡事预则立随笔代码规范Beta冲刺随笔用户使用调查报告冲刺总结随... 查看详情
逐梦校友圈——β冲刺day2(代码片段)
...件工程实践S班>这个作业要求在哪里团队作业六——beta冲刺+事后诸葛亮团队名称逐梦校友圈这个作业的目标β每日冲刺文档目录SCRUM成员描述内容展示会议图片PM报告工作总结项目燃尽图任务总量变化最新项目截图imgimgimgimgimgim... 查看详情
逐梦校友圈——β冲刺day3(代码片段)
...件工程实践S班>这个作业要求在哪里团队作业六——beta冲刺+事后诸葛亮团队名称逐梦校友圈这个作业的目标β每日冲刺文档目录SCRUM任务总览前端后端成员描述内容展示会议图片PM报告工作总结项目燃尽图任务总量变化最新项... 查看详情
逐梦校友圈——β冲刺day6(代码片段)
...件工程实践S班>这个作业要求在哪里团队作业六——beta冲刺+事后诸葛亮团队名称逐梦校友圈这个作业的目标β每日冲刺文档目录SCRUM任务总览前端后端成员描述内容展示会议图片PM报告工作总结项目燃尽图任务总量变化最新项... 查看详情
饱满骑士--β冲刺day7冲刺随笔
...践S班(福州大学)这个作业要求在哪里团队作业六——beta冲刺+事后诸葛亮团队名称饱满骑士这个作业的目标完成Beta冲刺其他参考文献无目录SCRUM成员描述代码签入截图IssueSCRUM会议图片PM报告任务量燃尽图任务总量变化项目图片/视... 查看详情
β版本第三次冲刺
β版本第三次冲刺1.站立式会议讨论内容美工组1.界面的像素密度,位置关系2.最终结局评定的PS设计及XML后端组1.新生引导界面和其他界面的调用关系2.头像与数据库的存取问题数据库端1.与后端讨论头像的接口函数及调用方式2.组... 查看详情
beta冲刺——代码规范及冲刺计划
代码规范下载链接代码规范内容概览冲刺计划总体安排本轮冲刺的总体目标是完成项目的所有基本功能,具体可分为以下几项管理员话题审核管理员评论审核管理员标签管理管理员课程管理用户端匿名发布用户端管理收藏夹功能... 查看详情
β冲刺第二周第二次例会报告
1.例会照片: 成员王超,高远博,冉华,王磊,王玉玲,任思佳,袁玥全部到齐。master:王超2.时间跨度: 2017年11月18日16:45—17:11,总计26分钟。3.地 点:一食堂二楼沙发座椅中间一张桌子周围4.立会内容: 讨论... 查看详情
烤盐人——团队作业六:β冲刺第四天
SCRUM部分每个成员描述姓名今日完成的内容遇到的问题/困难明天的计划安排心得体会林炜补充了树洞的部分反馈无收发树洞接口、修改发布文章接口团队协作还能进一步提高肖寒新增官方资讯无完善一下官方资讯页面把一些可以... 查看详情
alpha冲刺—冲刺计划&代码规范(代码片段)
一、Alpha冲刺任务1、前端部分界面顶栏、侧栏html+css+js完成用户相关功能模块界面html+css+js完成文件管理功能模块界面html+css+js完成日程安排功能模块界面:日程列表,添加日程html+css+js完成任务面板界面:待处理、进行中、已完... 查看详情
beta冲刺-用心聚落步
...计划代码规范与计划二、凡事预测立凡事预则立三、十日冲刺博客NO.1冲刺随笔1NO.2冲刺随笔2NO.3冲刺随笔3NO.4冲刺随笔4NO.5冲刺随笔5NO.6冲刺随笔6NO.7冲刺随笔7NO.8冲刺随笔8NO.9冲刺随笔9NO.10冲刺随笔10四、测试随笔测试随笔五、用... 查看详情
beta冲刺——博客汇总
...软件工程实践|W班这个作业要求在哪里团队作业六——beta冲刺+事后诸葛亮团队Growinglight这个作业的目标Beta冲刺的博客汇总其他参考文献《构建之法》换组交接博客换组交接博客alpha阶段问题总结随笔alpha阶段问题总结随笔凡事预... 查看详情
beta冲刺-置顶随笔
...践|W班(福州大学)这个作业要求在哪里团队作业六——beta冲刺+事后诸葛亮团队名称unity从入门到入土这个作业的目标完成Beta冲刺参考文献《构建之法》换组交接博客换组交接alpha阶段问题总结随笔问题总结凡事预则立随笔凡事预... 查看详情
beta冲刺(1/7)
Beta冲刺(1/7)队名:洛基小队峻雄(组长)已完成:β版的初步计划后两天计划:设计角色的技能树剩余任务:角色的技能困难:关于技能施放以及相关伤害计算等的代码非易已完成:角色交互后两天计划:商店的界面以及购买... 查看详情
第八次团队作业:汇总博客
...和综合实验班这个作业要求在哪里第八次团队作业:Beta冲刺这个作业的目标Beta冲刺项目源码纸飞机验收视频纸飞机一、代码规范和冲刺计划第八次团队作业:代码规范第八次团队作业:凡事预则立二、冲刺随笔第八次团队作业... 查看详情
那你能帮帮我吗——beta冲刺置顶博客
换组报告换组报告Alpha问题总结博客Alpha问题总结代码规范代码规范凡事预则立凡事预则立七天冲刺博客第一天Beta冲刺总结博客用户体验报告 查看详情
第八次团队作业:汇总博客
...、\'\'凡事预则立\'\'随笔与代码规范第八次团队作业:Beta冲刺(凡事预则立)代码规范二、冲刺随笔第八次团队作业:Beta冲刺(1/5)第八次团队作业:Beta冲刺(2/5)第八次团队作业:Beta冲刺(3/5)第八次团队作业:Beta冲刺(4/... 查看详情
第八次团队作业:汇总博客
一、凡事预则立第八次团队作业:Beta冲刺(凡事预则立)二、代码规范第八次团队作业:代码规范三、冲刺随笔第八次团队作业:Beta冲刺(1/5)第八次团队作业:Beta冲刺(2/5)第八次团队作业:Beta冲刺(3/5)第八次团队作业... 查看详情