簡體   English   中英

BufferedReader和Scanner在不同的類中

[英]BufferedReader and Scanner in different classes

我正在使用(BufferedReader和Scanner多次在我的代碼中)讀取多個文件。etc我遇到的問題是我的代碼存在於(主類)一類中。

當我嘗試將其拆分為不同的類(僅用幾行代碼即可獲得主要分類)時,我會遇到不同類型的錯誤。

例如,我嘗試過

public class ReadFile {
    public static BufferedReader in (InputStream in){
    //The same code here 
    //URL book = new......
    return new BufferedReader(inStreamReader(in));
}

 }

當我嘗試將其拆分為不同的類(以僅幾行代碼即可獲取主類)時,會遇到不同類型的錯誤。

重構類(以簡化方式)以減少每個類的行數可能是一個壞主意。 重構〜100行類以減少每類行數(坦率地說)適得其反。

大約100行的類足夠小,因此不應基於其長度而出現可讀性問題。 約100行的方法可能太長,但是不需要將這些方法放在單獨的類中。 如果有的話,將其拆分為多個將使閱讀代碼更加困難。 (根據我的經驗...)

如果要對該代碼進行任何重構,建議您將main方法拆分為較小的方法。 但是,成功進行重構的關鍵是確定拆分對象的最佳位置

例如,我將使代碼從// Open the filereader.close()成為一個單獨的方法,該方法將File作為參數,並返回通過讀取文件填充的HashSet

理想的方法是使用較小的API生成干凈的方法,並通過共享變量將耦合降到最低。 理想的方法還應該執行一個任務或一組相關任務,而不是任務的一部分或(主要是)獨立任務的抓包。 像這樣的方法更可能易於閱讀和理解,而與其他方法無關。 那應該是重構的主要目標:使代碼整體更易於理解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM