NetBeans デザイナで Java フレームを作成しています。それは非常に広範で、主にDBへのデータの挿入と取得に関するものです。
私のメインクラスには現在10663行あります(7000行はデザイナー、フレームデザイン - 生成されたコードによって挿入されます)。これにより問題が発生しますか? 私はJavaが初めてで、クラスには20メソッド/ 500行のコードを超えてはならないことを読みました。約 15 個のメソッドしかありませんが、コードは 10,000 行あります。これは問題になりますか?
実際には OOP の問題ではないため、OOP の観点からコードを分割または再考することはできません。いくつかのボタンが押されたときに、いくつかのテーブル (多くのテーブル) に MySQL DB からのデータを入力するか、多数のフォームからのデータで DB を更新します。
編集:十分な詳細を提供していないように感じるので、知っていることをすべてここに追加します. これは基本的に私の大学の卒業論文です。成績を取得して卒業した後は、二度と使用したり更新したりすることはありません。ホテルのレセプション用のソフトウェア製品を作成することです。顧客の追加、チェックイン、クライアントに提供される基本/追加サービスの管理などのすべてです。プロジェクトを開始したとき、私は Java の知識がありませんでした。レコードの追加/削除/更新など、DB関連のすべてを行うJavaファイルがあります.11k行のコードという問題を含むフォームファイルがあります。ほとんどの場合は次のようになります。
private void cCautaActionPerformed(java.awt.event.ActionEvent evt) {
ArrayList<ArrayList<Object>> result;
ArrayList<String> attributes=new ArrayList();
String where = "first_name LIKE '%" + cclientName.getText() + "%' OR last_name like '%" + cclientForename.getText() +"%'";
attributes.add("id");
attributes.add("first_name");
attributes.add("last_name");
attributes.add("address");
attributes.add("number");
attributes.add("town");
attributes.add("county");
attributes.add("notes");
attributes.add("cnp");
attributes.add("type");
csearchedCustomersList.clear();
try {
result = DataBaseConnection.getTableContent("customers", attributes, where, null, null);
DefaultTableModel model = (DefaultTableModel) csearchTable.getModel();
DefaultTableCellRenderer centerRender = new DefaultTableCellRenderer();
centerRender.setHorizontalAlignment( JLabel.CENTER );
csearchTable.setDefaultRenderer(Object.class, centerRender);
model.setRowCount(0);
if (result.isEmpty()) {
errorMessage("error", "No client found with the specified name!", "Search Error");
}
for (int i = 0; i < result.size(); i++) {
Customers cust = new Customers((String)(result.get(i).get(0)),
(String)(result.get(i).get(1)),
(String)(result.get(i).get(2)),
(String)(result.get(i).get(3)),
(String)(result.get(i).get(4)),
(String)(result.get(i).get(5)),
(String)(result.get(i).get(6)),
(String)(result.get(i).get(7)),
(String)(result.get(i).get(8)),
(String)(result.get(i).get(9))
);
csearchedCustomersList.add(cust);
model.addRow(result.get(i).toArray());
}
} catch (SQLException ex) {
}
}
たとえば、これは、検索された用語 (名前と名) に一致する顧客をテーブルに入力する [検索] ボタンのコードです。したがって、DataBaseConnection はすべての DB 作業を行います。問題は、何かを追加しようとするときです-新しいJPanel、ボタンのアイコンを変更します..基本的に、次の新しいコードを追加します:エラー:メインクラスHotel.hotelが見つからないか、ロードできませんでした。私が言ったように、私はJavaにかなり慣れていないので、これにどのようにアプローチすればよいかわかりません。