代码中的变量、方法的命名基本都能够做到自解释,在他人阅读的时候基本能够明白其意思,方便了合作的时候他人理解代码的大意。
整个项目划分成了多个模块,按照MVC(model-view-controller)的思想,各个模块各司其职。这样子既方便开发时专注于某个模块的编写,也方便不同模块分工合作。
MakeQuestion.java
中),可以尝试进一步将函数进一步拆解,提高可读性。public
等对外暴露的方法的注释说明,方便他人知道方法的作用、参数的含义、返回值的含义之类的。设计方面缺少对功能服务的抽象,整个项目全部都是实体类,类与类之间都是直接相关联,耦合度较高。可以尝试将一些功能对象抽象成接口或者抽象类,来降低耦合度和类之间关系的复杂度。
在不同的类中使用Scanner的时候出现
NoSuchElementException
异常。
System.in
在源码中的定义如下:
public final static InputStream in = null;
System.in
是一个静态的,所有对象共享的,所以当使用close关闭了Scanner和System.in后,System.in之后不能再次打开。
所以要使用Scanner进行输入的时候,最好:
Java读取文件时的相对路径问题。
这与Java底层的实现有关,默认相对路径是从当前的project文件夹开始
例如上述的工程解构,要获取工程中的doc
目录可以这样书写
File file = new File("doc/")
原文:https://www.cnblogs.com/GorgeousBankarian/p/13754138.html