![](/img/trans.png)
[英]How to print line until the first letter of the line is different (with scanner or bufferedreader)?
[英]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 file
到reader.close()
成為一個單獨的方法,該方法將File
作為參數,並返回通過讀取文件填充的HashSet
。
理想的方法是使用較小的API生成干凈的方法,並通過共享變量將耦合降到最低。 理想的方法還應該執行一個任務或一組相關任務,而不是任務的一部分或(主要是)獨立任務的抓包。 像這樣的方法更可能易於閱讀和理解,而與其他方法無關。 那應該是重構的主要目標:使代碼整體更易於理解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.