ボイラープレートコードとは何ですか?


ベストアンサー

基本的に、ボイラープレートコードはプロジェクトのフレームです。

すぐにプロトタイプを作成する必要があるとしましょう。特定の技術の顧客のための製品。ボイラープレートがなければ、最初から始めるか、CLIで生成されたテンプレートを使用する必要がありますが、必ずしも自分のやり方に一致するとは限りません。

ここで、別のプロジェクトで行ったクリーンな小さなプロジェクトがあると想像してみてください。少し前の顧客は、基本的にいくつかの変更、いくつかの行の削除、いくつかの他の追加のみを必要とし、基本的に顧客に提示する準備ができています。きちんとしていますか?

さて、ボイラープレートを持つことは、2番目のシナリオの一種です。特定のテクノロジー/フレームワーク/ライブラリの使用を必要とするプロジェクトがいくつかあることがわかっている場合は、プレート、ボイラープレートを自分で修正できます。形や色(そしてコードスタイルも!)などのお気に入りの機能を備えているため、新しいプロジェクトを開始するたびに変更するのではなく、追加することに簡単に集中できます。

例を詳しく説明するために、Angular2 +またはReactで、一部のデータのプレビューを備えたサイドバーとメニューコントロールを備えた固定ヘッダーを備えたアプリケーションを作成するように求められることがよくあると仮定します。新しい顧客があなたに到着するたびに空白のプロジェクトを作成する代わりに、空白の定型文を使用して、適切なメニューエントリ、プレビュー、メインコンテンツを追加せずに集中することができます。

これを要約すると、わかっている場合は将来的には同様のプロジェクトがたくさんあるでしょう。定型文は大幅な時間の節約になります:)

回答

Elazarにはいくつかの素晴らしい点がありました(特にチェックされた例外を回避する)が、私は「A2Aのために私自身の推奨事項を追加します:)

チェックされた例外を回避するために必ずしもGuavaは必要ありません。代わりに、ランタイム例外をスローすることができます。問題となるのは、これらのチェックされた例外をすでにスローするコードが必要なときだけです。必要に応じて、それらを明示的にキャッチし、代わりにランタイム例外をスローすることができます。

ポリモーフィズムは、同じ子クラスの各派生型を処理するメソッドの記述を回避する方法です。

反射コードの再利用にも役立ちます。クラスをディレクトリにドロップして、ソフトウェアが使用できる「新しいコンポーネント」として認識できるようにしたい場合があります。明示的な反復コードを介して他のコンポーネントと一緒にフックする必要はなく、リフレクションを介して検出して使用できます。

フレームワークは、定型的なものを回避する方法でもあります。ボイラープレートを奨励することもありますが、あなたのために何かをすることもあります。 Springアノテーションを試して、明示的に物事を渡さないようにすることができます。

私が書いた他のすべてのJava関連の回答に、この記事へのリンクが含まれているように見えるのはなぜですか?とにかく、そのようにリファクタリングすると、非常に再利用可能な小さな機能でボイラープレートを減らすことができます。

また、ボイラープレートコードに関するWikipediaの記事から

a>:

“ボイラープレートの必要性は、 メタプログラミングなどの高レベルのメカニズムによって減らすことができます。 (コンピューターに必要な定型文を自動的に書き込む)、 設定より規約 (適切なデフォルト値を提供し、すべてのプロジェクトでプログラムの詳細を指定する必要性を減らします)および モデル駆動工学 (モデルとモデルからコードへのジェネレーターを使用し、定型的な手動コードの必要性を排除します)。 “

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です