112
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 202501福大-软件工程实践-W班 |
|---|---|
| 这个作业要求在哪里 | 团队作业—bate冲刺 |
| 这个作业的目标 | 制定并统一团队前后端代码规范 |
| 其他参考文献 | 无 |
- 或 _ 分隔(如 user-profile)。a1, temp2)。| 类型 | 命名示例 | 说明 |
|---|---|---|
| 页面文件 | index.html, login.html | 与功能对应 |
| 样式文件 | main.css, user-profile.css | 与页面/组件对应 |
| JS 文件 | main.js, api-helper.js | 模块化命名 |
| 图片文件 | logo.png, user-avatar.jpg | 语义化命名 |
camelCase(如 userName, getUserInfo())API_BASE_URL)UserCard, FormValidator)<header>, <nav>, <main>, <article>, <footer><div>;标题层级按逻辑递增(<h1> → <h6>)<div class="user-card">
<h2 class="user-name">张三</h2>
<p class="user-desc">软件工程专业</p>
</div>
idclassnamedata-*src / hrefalt / titlearia-*common.css.card {}
.card__title {}
.card--highlight {}
rgb()margin: 10px 20px;).button {
display: inline-block;
background-color: #2b7cff;
color: #fff;
border-radius: 8px;
transition: 0.3s;
}
.button:hover {
background-color: #1a5fd9;
}
const / let,避免 var;===,避免 ==// 获取用户信息
async function getUserInfo(id) {
const response = await fetch(`/api/user/${id}`);
return await response.json();
}
// 错误捕获
try {
await fetchData();
} catch (error) {
console.error('获取数据失败:', error);
}
/**
* 文件名: user.js
* 功能: 用户信息获取与处理
* 作者: 张三
* 日期: 2025-10-29
*/
/**
* 获取用户数据
* @param {number} id - 用户 ID
* @returns {Object} 用户数据对象
*/
[类型] 简要说明(≤20字)
示例:
[feat] 新增用户登录页面[fix] 修复按钮点击无响应[refactor] 优化表单验证逻辑| 类型 | 说明 |
|---|---|
feat | 新增功能 |
fix | 修复 bug |
refactor | 代码重构 |
style | 样式调整 |
docs | 文档修改 |
test | 测试相关 |
feature/login-pagefix/bug-001release/v1.0console.log 调试语句遵循《阿里巴巴 Java 开发手册》核心原则,结合项目实际调整。
_ 或 $ 开头/结尾(如 _name, Object$)DaZhePromotion ❌)UpperCamelCase(UserDO, TcpUdpDeal)lowerCamelCase(getHttpMessage, inputUserId)MAX_STOCK_COUNT)com.example.util)PullCodeFromRemoteRepositoryOrderFactory, LoginProxypublic 修饰符| 层级 | 方法前缀 | 示例 |
|---|---|---|
| 查询单个 | get | getUserById() |
| 查询多个 | list | listUsersByRole() |
| 统计 | count | countOrders() |
| 插入 | save / insert | saveUser() |
| 删除 | remove / delete | removeUser() |
| 更新 | update | updateUserName() |
xxxDO:数据对象(对应数据库表)xxxDTO:数据传输对象xxxVO:视图对象xxxPOJO"Id#taobao_" + tradeId)long 初始化用大写 L(Long a = 2L;)CacheConsts, ConfigConsts)Enum 后缀(ProcessStatusEnum)else 不换行a = b + cmethod("a", "b")\n)UserService.getUserName()@Overrideequals 用常量调用:"test".equals(obj)equals(避免 == 缓存陷阱)toString()StringBuilderequals 必须重写 hashCodesubList() 不能强转为 ArrayListtoArray(T[])Arrays.asList() 返回不可变列表entrySet()foreach 中禁止 remove/add,改用 IteratorThreadPoolExecutor,禁用 ExecutorsSimpleDateFormat 非线程安全,改用 DateTimeFormatter 或 ThreadLocalAtomicInteger,缩小锁范围ScheduledExecutorService,不用 Timerswitch 必须含 default,每个 case 显式终止if/for/while 必须加大括号 {},即使单行if-else 改用“卫语句”提前返回/** */)@author 和 @date// TODO: 张三 2025-10-29 补充权限校验// FIXME: 李四 2025-10-29 修复空指针Pattern.compile() 放方法外$!{var} 防 null 显示System.currentTimeMillis()catch 处理 NullPointerException,应预检查finally 中关闭资源(推荐 try-with-resources)ServiceException)logger.debug("id: {}, name: {}", id, name);logger.error("订单失败: {}", orderId, e);158****9119)#{}),禁用字符串拼接is_deleted,类型 TINYINT(1)id(BIGINT)、gmt_create、gmt_modifiedDECIMAL,字符串用 VARCHAR(≤5000)uk_phone)JOIN ≤3 表,关联字段必须有索引LIKE '%xx')COUNT(*),不用 COUNT(col)TRUNCATEgmt_modified = NOW()select *is(deleted),DB 字段加 is_(is_deleted)resultMap#{},禁用 ${}