ボイラープレートコードとは


384

同僚はこれを聞いたことがなく、私は本当の定義を提供することができませんでした。私にとって、それは常に「私はいつ知っているかを知る」の例でした。

ボーナス質問、誰がその用語を始めたのですか?


68
注意として、ボイラープレートという用語はプログラミングに限定されません。例えば、弁護士はあなたに署名するためにあなたに5ページの契約を与えるかもしれませんが、契約のほとんどは定型文です。つまり、契約を結ぶのはすべての人にとって同じであり、ほんの数行しか変更されていません。
mellowsoon

26
私は他の人については知りませんが、私の会社では、ボイラープレートコードはボイラープレートを操作するコードです:オープン、クローズ、洗浄、交換など
ulty4life

1
この質問は専門用語に関するものであるため、トピックから外れているようです。
アドリアーノRepetti 2014

4
私はLaravelの文書と考えのためにここに来ました。「彼らが話しているこの定型的なものは何ですか?」。いくつかの回答を読んだ後、私はこの直接関連するwikiページが問題についての洞察も示していると思いました:en.wikipedia.org/wiki/Boilerplate_code
Ben Fransen

1
最近この用語を聞いたので、それらをプログラミング言語のプラグインまたはモジュールとして呼び出すことができるかどうか知りたいです。
Anjil Panchal

回答:


215

「ボイラープレートコード」とは、非常に単純であるように見える結果を得るために繰り返し表示される、一見反復的なコードのことです。

それは主観的な定義です。

この用語は新聞業界の「定型文」に由来しますwiki


2
OOPのマルチプロパティの背後にある考え方は、ボイラープレートを減らすことです。そのため、適切に適用すると、かなり減らすことができます。
Andrew Sledge

それはまた言われています、それは鋼板がボイラーに使用されている鉄鋼業界から来ています
Mohammed Shareef C

55

語源については、ボイラープレートという用語:http : //www.takeourword.com/Issue009.htmlから...

興味深いことに、この用語は新聞業界からきています。シンジケートされたコラムやその他の部分は、マット(マトリックス)の形で購読新聞に送られました。受け取ったら、このマットに沸騰鉛を注ぎ、作品の印刷に使用するプレートを作成しました。これがボイラープレートという名前です。ボイラープレートに印刷された記事は変更できなかったため、弁護士がこの用語を使用して、さまざまなアプリケーションで繰り返し使用しても変更されなかった契約の部分を指し、最終的には変更されなかった一般的な言語を指すようになりましたさまざまな場面で繰り返し使用されたドキュメント。

プログラミングのボイラープレートを構成するものは何ですか?他の人が指摘したように、プロセスでほとんどまたはまったく変更が加えられずに何度も何度もコピーされるのは単なるコードのチャンクです。


別の説明mentalfloss.com/article/26087/why-it-boilerplate-textがあります。これについては、より多くのリファレンスを参照しています。
fgysinはモニカを2015

1
くそー!これは文法スタック交換の答えのようです...実際にはこの質問全体かもしれませんが、なぜここでそれが必要なのかわかります...
pythonian29033

55

ボイラープレートコードとは、繰り返し使用できるコードのことです。一方、それは再利用可能なコードの一部であると誰もが言うことができます。

この用語は実際には鉄鋼業界に由来しています。

少しのための歴史によると、ウィキペディア

1890年代には、ボイラープレートは実際に金属で鋳造またはプレス加工されて印刷機の準備が整い、米国中の新聞に配られました。1950年代まで、数千の新聞がこの種の定型文を国の最大の供給業者である西部新聞連合から受け取って使用していました。一部の企業では、プレスリリースを定型文として送信したため、書面どおりに印刷する必要がありました。

ウィキペディアによると:

オブジェクト指向プログラムでは、インスタンス変数を取得および設定するためのメソッドがクラスに提供されることがよくあります。これらの方法の定義は、定型文と見なされることがよくあります。コードはクラスごとに異なりますが、手作業で作成するよりも自動的に生成するほうがよいほど構造的にステレオタイプ的です。たとえば、ペットを表す次のJavaクラスでは、ペット、名前、所有者の宣言を除いて、ほとんどすべてのコードがボイラープレートです。

public class Pet {
    private PetName name;
    private Person owner;

    public Pet(PetName name, Person owner) {
        this.name = name;
        this.owner = owner;
    }

    public PetName getName() {
        return name;
    }

    public void setName(PetName name) {
        this.name = name;
    }

    public Person getOwner() {
        return owner;
    }

    public void setOwner(Person owner) {
        this.owner = owner;
    }
}

38

ほとんど、またはまったく変更することなく、多くのアプリケーション/コンテキストで使用できるコードです。

ボイラープレートは1900年代初頭の鉄鋼業界に由来しています。


34

ウィキペディアから:

コンピュータープログラミングでは、ボイラープレートは、ほとんどまたはまったく変更せずに多くの場所に含める必要があるコードのセクションを説明するために使用される用語です。これは、冗長と見なされる言語を参照するときによく使用されます。つまり、プログラマーは最小限のジョブを実行するために多くのコードを記述する必要があります。

したがって、基本的には、ボイラープレートコードを、プログラミング言語で必要なテキストと見なすことができます。

現代の言語はそれを削減しようとしていますが、特定の型チェッカーを持つ古い言語(たとえば、OCamlには、Javaのようなより冗長な言語の定型コードになるような多くの宣言を避けることができる型インフェラーがあります)


24

ボイラープレートは、優れたプログラマーが避けているもの、つまり繰り返しです。


36
OMG、答えに「ti」が2回あります。ご覧のとおり、繰り返しは必ずしも悪いことではありませ
タマシュSengel

3
どうすれば回避できpublic static void main(String[] _)ますか?
Koray Tugay

15

ソフトウェア開発のボイラープレートは、人によって意味が異なる場合がありますが、一般に、何度も何度も使用されるコードのブロックを意味します。

MEANスタック開発、この用語は、テンプレートの使用を介してコード生成を指します。アプリケーション全体をゼロから手作業でコーディングするよりも簡単で、クリーンでテスト済みで実証済みのコードとオープンソースであるため、コードブロックの一貫性とバグの数が少なく、常に更新または修正されているため、使用時間を大幅に節約できます。フレームワークまたはコードジェネレータ。MEANスタックの詳細については、ここをクリックしてください


7

実際には、ボイラープレートコードは、あちこちにカットアンドペーストするものです。多くの場合、それはモジュールヘッダーといくつかの標準/必須宣言(すべてのモジュールはロガーを宣言する必要があり、すべてのモジュールは名前とリビジョンの変数を宣言する必要があるなど)のようなものになります。現在のプロジェクトでは、メッセージハンドラーを作成していますそれらはすべて同じ構造(メッセージの読み取り、検証、処理)を持ち、ハンドラー間の依存関係をなくすために、基本クラスからすべて継承させたくなかったので、ボイラープレートスケルトンを思い付きました。すべてのルーチン変数、標準メソッド、例外処理フレームワークを宣言しました。開発者がしなければならないことは、処理されるメッセージに固有のコードを追加することだけでした。すばやく簡単に使用できたでしょう。


7

ボイラープレートの定義は、現在、他の多くのプログラミング言語でよりグローバルになっています。これは、OOPになり、手続き型の前にあったOOPとハイブリッド言語から来て、モデル/テンプレート/クラス/オブジェクトを使用して作成したコードを繰り返し続けることと同じ目標を持っているため、なぜこの用語を採用するのですか?テンプレートを作成します。テンプレートの各インスタンスに対して行うことは、オブジェクトを個別化するためのパラメーターだけです。この部分がボイラープレートと呼ばれます。テンプレートを作成したコードを、さまざまなパラメーターを指定して再利用するだけです。

同義語
の青写真は定型文
、ステンシルは定型文
、フッターは定型文
、複数使用のデザインパターンは定型文
、メールの署名は定型文



2

whatis.techtarget.comから:

情報技術では、ボイラープレートは、変更なしで何度も再利用できる記述の単位です。拡張によって、アイデアは「ボイラープレートコード」のように再利用可能なプログラミングに適用されることがあります。この用語は、ボイラープレートが蒸気ボイラーで使用するために大きな板に圧延された鋼製造に由来します。これは、定型文の記述が「鋼」のように長年にわたってテストされてきたか、繰り返し再利用できるほど強力なものに展開されている可能性があることを意味します。

プログラミングを超えて:

ボイラープレートは、特定の種類のテンプレートと比較することができます。これは、ブランクを埋めるボイラープレートと考えることができます。代表的なボイラープレートには、ミッションステートメント、安全上の警告、一般的に使用されるインストール手順、著作権ステートメント、および責任の免責事項が含まれます。

プログラマーとしての私の経験では、適切な種類のボイラープレートコードは通常、最初に開始する一連のコードであり、フレームワークと呼ばれるほど大きくも複雑でもありません。

典型的な例は、HTML5ボイラープレートです。


1

「スニペット」またはより正確には「スニペットのコレクション」と呼ぶことができます。私が思う用語は、彼らが実際の「プレート」を使用し、その後それらを再びチャンクとして再利用したプレスおよび印刷業界から生まれたものです。現代のインターネットでは、これはよりトレンディで洗練された見た目を実現するために、シンプルなものを表す豪華な用語。RESPONSIVE =適応可能/流体を参照してください。


「スニペット」は同じ意味をまったく伝えていません。「ボイラープレート」は、数行のコピー/貼り付け/コードを忘れるコードとは対照的に、適合するように変更されることを意図したより大きなチャンクを暗示する傾向があります。例としてはWinMain、Win32アプリの関数のコードがあります。アプリのウィンドウクラスを登録し、メインウィンドウを作成し、イベントループを実行して、ウィンドウプロシージャの終了コードを返します。その機能は、多くの場合、アプリ間であまり変化せず、比較的少ない変更で再利用できますが、ライブラリー(またはスニペット)として意味をなすほど日常的ではありません。
cHao

0

ボイラープレートは、変更せずに繰り返し再利用できる記述の単位です。拡張によって、アイデアは「ボイラープレートコード」のように再利用可能なプログラミングに適用されることがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.