BufferedReader和Scanner在不同的类中

时间:2016-12-19 13:02:22

标签: java java.util.scanner bufferedreader

我正在使用(BufferedReader和Scanner在我的代码中多次使用)读取几个文件.etc我所拥有的问题是我的代码存在于一个类(主类)中。

当我尝试将其拆分为不同的类时(为了让主要的clas只有几行代码),我得到了不同的错误。

E.g我试过

Table1: id    amt    bank
         1    100    121 

Table2: idnum amount vendor
         12    50    121

1 个答案:

答案 0 :(得分:1)

  

当我尝试将其拆分为不同的类时(为了让主类只有几行代码),我会遇到不同类型的错误。

重构类(简单)以减少每类的行数可能是一个坏主意。重构一个~100行类来减少每类行数(坦率地说)是适得其反的。

~100行类足够小,不应根据其长度提出可读性问题。 ~100行方法可能太长,但不需要将方法放入单独的类中。如果有的话,将其拆分为多个将使得更难以阅读代码。 (根据我的经验......)

如果您打算对该代码进行任何重构,我建议您将main方法拆分为更小的方法。但是,成功重构的关键是确定最佳位置来分解事物。

例如,我会将代码从// Open the file变为reader.close()一个单独的方法,该方法将File作为参数,并返回通过读取填充的HashSet文件。

理想情况是使用小API生成干净的方法,并通过共享变量实现最小耦合。理想的方法也应该做一个任务,或者一组相关的任务,而不是任务的一部分或(大部分)独立任务的抓包。与其他方法无关,这样的方法更容易阅读和理解。这应该是重构的主要目标:使代码整体更容易理解。