我正在使用(BufferedReader和Scanner在我的代码中多次使用)读取几个文件.etc我所拥有的问题是我的代码存在于一个类(主类)中。
当我尝试将其拆分为不同的类时(为了让主要的clas只有几行代码),我得到了不同的错误。
E.g我试过
Table1: id amt bank
1 100 121
Table2: idnum amount vendor
12 50 121
答案 0 :(得分:1)
当我尝试将其拆分为不同的类时(为了让主类只有几行代码),我会遇到不同类型的错误。
重构类(简单)以减少每类的行数可能是一个坏主意。重构一个~100行类来减少每类行数(坦率地说)是适得其反的。
~100行类足够小,不应根据其长度提出可读性问题。 ~100行方法可能太长,但不需要将方法放入单独的类中。如果有的话,将其拆分为多个类将使得更难以阅读代码。 (根据我的经验......)
如果您打算对该代码进行任何重构,我建议您将main
方法拆分为更小的方法。但是,成功重构的关键是确定最佳位置来分解事物。
例如,我会将代码从// Open the file
变为reader.close()
一个单独的方法,该方法将File
作为参数,并返回通过读取填充的HashSet
文件。
理想情况是使用小API生成干净的方法,并通过共享变量实现最小耦合。理想的方法也应该做一个任务,或者一组相关的任务,而不是任务的一部分或(大部分)独立任务的抓包。与其他方法无关,这样的方法更容易阅读和理解。这应该是重构的主要目标:使代码整体更容易理解。