同济大学软件学院 2020-2021 学年 第 1 学期设计模式课程小组项目
Gradle
使用 Edit configurations
编辑配置。
文件命名方式参见下文项目结构。
所有游乐设施请继承 FacilityTemplate
类。
游乐设施无需继承 FacilityTemplate
类。
在类方法中记得加入 CallStackLogger
,格式如下:
CallStackLogger.log(
new CallStackLogInfo(
"$类名",
"$方法名",
String.valueOf(System.identityHashCode(this)),
"$对方法功能的描述"
)
);
测试类命名时需要带有 “Test” 字样,供 Gradle
识别。
测试类应当包含 Assert 语句。Junit 提供的 Assert 语句参见 此文档 。
代码中每个函数的功能必须写上注释。其他必要处给出足够的文字说明,提高程序可读性,也为完成测试者提供方便。
采用命令行程序,与设计模式无关的部分尽量简化。一个main函数。使用设计框架中尽量所有的设计模式,用注释说明使用的是哪个设计模式。如果可能尽量用类似cout/printf( classname: (objectid) : method name :action description )形式来打印输出。
本项目使用 UTF-8 作为文字编码,项目的输出统一为中文。
Win10 自带的命令行工具 cmd
和 Powershell
默认使用 GBK 编码,在运行本项目时命令行中的输出可能会变成乱码
(如果没有出现乱码,可以跳过本段)。
注意: Win10 支持修改系统默认编码,但直接将系统默认编码改为 UTF-8 可能导致若干软件出错。
在 Powershell
中输入下列命令可以将 cmd
的默认编码改为 UTF-8:
> Set-ItemProperty 'HKCU:\Software\Microsoft\Command Processor' AutoRun 'chcp 65001 >NUL'
要回滚前述操作,可以在 Powershell
中输入下列命令:
> Set-ItemProperty 'HKCU:\Software\Microsoft\Command Processor' AutoRun ''
如果提示找不到此注册表键值,请用管理员模式运行 Powershell
(可以同时按下 Win+S,搜索 Powershell
,选择以管理员身份运行)。然后在 Powershell
中输入下列命令:
> Set-ItemProperty 'HKLM:\Software\Microsoft\Command Processor' AutoRun 'chcp 65001 >NUL'
要回滚前述操作,可以在 Powershell
中输入下列命令:
> Set-ItemProperty 'HKLM:\Software\Microsoft\Command Processor' AutoRun ''
$ ./gradlew test
$ ./gradlew test --tests com.github.tongjisserollman.iceamusementpark.patternname.PatternTest.TestMethod
$ ./gradlew run
Design_Pattern_2020
├─ LICENSE // MIT 协议
├─ README.md // 本文档
└─ src
├─ main
│ └─ java
│ └─ com/github/tongjisserollman/iceamusementpark // 项目父包 (全小写)
│ ├─ builder // 设计模式包 (全小写)
│ │ ├─ Smoothie.java // 用例类 (大驼峰)
│ │ └─ SmoothieBuilder.java // 用例类 (大驼峰)
│ ├─ Main.java // 主类
│ └─ util // 工具包
│ └─ Utils.java // 工具类,包含了 CallStackLogger
└─ test //
└─ java //
└─ com/github/tongjisserollman/iceamusementpark //
└─ builder // 设计模式包 (全小写)
└─ SmoothieTest.java // 测试用例类 (大驼峰)