あなたにとって「ラザニアコード」という言葉は何を意味しますか?[閉まっている]
-
19-09-2019 - |
質問
ウィキペディアによると、この用語はもともと 1982 年にデータベースの専門家であるジョー セルコによって造られました。以下にその引用を示します。 彼の1997年の記事 彼がそれが何を意味したかを明らかにすると、 「標準的な(構造化プログラミング)ソリューションは、GOTO をネストされた IF-THEN-ELSE ステートメントとスイッチに置き換えることでした。これらのスイッチは非常に深く階層化され、冗長性が非常に高かったため、代わりにラザニアの皿のような制御パスができました。」
同じウィキペディアの項目 ただし、この用語の定義は異なり、明らかに多層アプリケーションを指します。 「...... などのさまざまなサブシステムWeb アプリケーション コード、ビジネス ロジック、リレーショナル データベースです。」 このように、プログラマーが新しい方法論やアーキテクチャを開発するにつれて、この用語の意味は進化してきました。
「ラザニア コード」の現代的な定義は 2 つ考えられます。
- ソフトウェア アプリケーションの層が過剰、過剰に設計されているか、(明らかに)些細な層
- 適切に分離された単体テストが欠如しているソフトウェア アプリケーションの層。開発者は、一度に複数のレイヤーをスライスして使用することによってのみシステムをテストしました。
この用語は明らかに批判を意味します (私の作品を「スパゲッティ コード」と呼んで批判するのと同じです)。しかし、それはあなたにとって何を意味し、いつ使用しますか?
解決
私にとって、それはダメために階層を意味します理由でます。
他のヒント
あまりにも多くの型GOTO ==スパゲッティコード
あまりにも多くのIF-THEN-ELSE /スイッチ==ラザニアコード
:)
のスパゲッティコードのウィキペディアでの参照は、
、に言って、これを持っていますのラザニアコードのコードの各層が明確に定義されたインタフェースを介して下の層におけるサービスにアクセスするいくつかのよく定義され、分離層によって特徴付けられるプログラム構造のタイプ、である。
この用語は、パスタにプログラム構造を比較し、のスパゲッティコードのと比較してあります。同様にラザニアするのプレートのの層状構造に由来する、
異なる成分(肉、ソース、野菜、またはチーズ)は、各パスタのストリップによって分離される。
私の妻が作るようなものが、うまく階層化と端正でよく作られラザニアは、一方、スパゲッティは、もつれた混乱混乱ですので、私は前者はただの方法だろうしながら、後者は侮辱だろうと思うだろう単離された層に開発されたコードを記述する。私はMVCプログラミングにラザニアのアプローチと考えられるが、それは愚かに聞こえると、私はそれを使用することはないと思います。あなたは彼がラザニアアプリケーションを書き込み、脂肪プログラマを告げた場合以外にも、あなたは貧しい人を怒らせる危険を冒すます。
また、イタリア人によって書かれたコードを参照することができ、私は考えます:)
私は前にラザニアコードのことを聞いたことがありませんが、心に来た最初の事は「スパゲッティコード」でした。私の推測では、それの部品はあらゆる場所にあったが、大半が凝集単位でした。悪くないスパゲッティコードではなく、十分ではありませんが呼び出さ取得します。