私は最近、基本的にプログラミング言語としてjavaを使用するプロジェクトに参加しました。ある特定のサービスのコードのほぼ80%が手書きツールを使用して生成されていることがわかりました。ツールの入力は、XMLまたはExcelシートのいずれかでした。プロジェクトのシニアメンバーに尋ねたところ、彼らはコーディングエラーを減らし、ドキュメンテーションに役立つと答えました。しかし、ほとんどのコードが生成され、手作業で書かれているものがほとんどないので、何らかの欠点があるかどうか疑問に思っていましたか?Javaコードを生成するツールが多すぎますか?
2
A
答えて
0
あなたはサービスの性質は何も言いませんが、多くのコードがお互いに「一致」しなければならない場合や、データベーステーブルなどの他のものと一致する必要があることがよくあります。多くの企業は、エンティティ関係の1つの中心マップからコードやその他のもの(データベーススキーマなど)を自動的に生成するためにさまざまなツールを使用します。
たとえば、Hibernateは、Javaクラスをデータベーススキーマにマップするのに役立つツールです。 ORM(オブジェクトリレーションシップモデル)を作成し、そこからコードを生成するためのさまざまなツールがあります。多くのクラスは80%以上のクッキーカッターgetters/setters/constructorsです。それは価値かどうか、あるいは良いアイデアだかどうか
は、あなたのツールと、彼らはどのように彼らは
- によって決定されますモデルの変更を処理します。モデルの変更により、ソースファイルを、再生成されたコードで上書きしなければならない場合、最後の再生成以降の追加やカスタマイズを失うことになります。
1
コードはまだ書かれており、XMLで書かれています。 XMLは一般にグロテスクであり、複雑さの層を追加します。人々はパーサーを書くことができず、ANTLRのようなツールには慣れていないため、主にXMLが使用されます。コーディングには無料のランチもなく、銀色の弾丸もありません。
IMHO Railsキャンプは、設定よりも優れた慣習の解決法を持っています。そのためには、余分なコードを書く必要はありません。これは2000行のXMLを書き込むより優れた選択肢です。
関連する問題
- 1. Javaコードでリファクタリングするパラメータが多すぎます
- 2. Java - BigDecimalsが多すぎますか?
- 3. シンプルな加算メソッドが多すぎるILコードを生成する
- 4. ランタイムに生成されるXtraChartが多すぎます
- 5. java CharBuffer.toStringでオブジェクトが多すぎます
- 6. Javaオープンファイルが多すぎます
- 7. Javaのif文が多すぎます。
- 8. EAVデータベースのクエリが多すぎる "ヌル"を生成する
- 9. jnr-ffi:ヘッダーファイルからJavaコードへの生成ツールがあります
- 10. コードが大きすぎ、定数が多すぎるエラー(Androidスタジオ)
- 11. エラー:生成されたJavaファイルでコードが大きすぎます
- 12. Compassスプライトが多すぎるCSSクラスを生成しています
- 13. Djangoインラインformsetsとchoicefieldsが多すぎるdbクエリを生成します。
- 14. Javaが多すぎるメモリを消費しています
- 15. ループの作成が多すぎる
- 16. AWS Beanstalkレールアプリケーションで発生するレークプロセスが多すぎます
- 17. ValueError:タプル数が多すぎるとアンパックする値が多すぎます
- 18. ドッカーマウントが多すぎます
- 19. ブートストラップオプションが多すぎます
- 20. CUDAが多すぎます
- 21. リダイレクトが多すぎます
- 22. エコーが多すぎます
- 23. "オープンファイルが多すぎます"
- 24. ASTからJavaScriptコードを生成するためのツール
- 25. Java/Flex ORM/DTO生成ツール
- 26. spark(java) - 開いているファイルが多すぎます
- 27. エンティティフレームワークのコード生成ツールでナビゲーションプロパティが生成されないようにする
- 28. MySQLのフィールドが多すぎますか?
- 29. エンティティが多すぎますか?
- 30. IOSでリダイレクトが多すぎますか?
この質問は、より多くのディスカッションベースであり、私はhttp://programmers.stackexchange.comにもっと適していると信じています。むしろ欠点があるかどうかは、各アプリケーションのニーズと必要性に基づいています。 – Churk