JavaFX技术实现:将TableView用作日历并填充课程事件
课程日历应用Lecture类的规范整理与优化建议
看起来你已经搭好了课程日历应用的核心Lecture类骨架,先帮你把代码整理得更规范易读,同时补充一些实用的优化思路:
public class Lecture { // 课程名称 private final String course; // 周几(建议后续用枚举替代int类型) private final int day; // 课程时长(按课时数计算) private final int duration; // 学生ID private final int studentId; // 教师ID private final int teacherId; // 授课地点ID private final int locationId; // 起始课时块(比如第1节、第3节) private final int firstBlock; public String getCourse() { return course; } public int getDay() { return day; } public int getDuration() { return duration; } public int getStudentId() { return studentId; } // 补充剩余未完成的getter方法 public int getTeacherId() { return teacherId; } public int getLocationId() { return locationId; } public int getFirstBlock() { return firstBlock; } }
针对这个类的实用优化建议:
- 用枚举替代魔法数字:
day字段目前是int类型,很容易出现比如用1代表周一、2代表周二这种“魔法数字”,建议定义一个Weekday枚举类,让代码可读性和安全性大幅提升 - 添加实例化方式:目前类中没有构造方法,无法创建
Lecture实例。如果字段较多,优先考虑建造者模式,避免全参构造器参数过多导致的代码混乱 - 重写toString()方法:方便调试时快速查看课程关键信息,示例代码如下:
@Override public String toString() { return "Lecture{" + "course='" + course + '\'' + ", day=" + day + ", duration=" + duration + ", locationId=" + locationId + '}'; } - 补充equals()和hashCode():如果需要比较两个课程是否为同一安排(比如同一学生的同一课程),重写这两个方法会很实用
- 完善字段注释:给每个字段添加简洁注释,后续维护代码时能快速理解字段含义
内容的提问来源于stack exchange,提问作者Lucas Belpaire
相关产品推荐
相关产品推荐

