Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。編集部どのようなツールであっても、その使い方を知っている開発者が手にして初めて効果をもたらす。NDepend(リンク)は強力なツールであるが、NDependが扱うソフトウェアメトリクスを理解するアーキテクトや開発者はあまりにも少ない。Smacchia氏と話をした(参考記事・英語)。その後、NDependは複数のアップデートを行い、以下のような多くの機能を誇っている。Loker氏(リンク)は、最近、NDepend利用に関する開発者の視点での優れたチュートリアル(リンク)を作成した。Andre氏のチュートリアルは、チームに対するNDependの貢献、ツールに期待すること、および、最良の利用方法について解説している。coupling)このメトリクスは、所定の型またはメソッドを使用する現在のアセンブリの外部からの型およびメソッドの数を表す。この値が高ければ高いほど、アセンブリ利用者にとって、所定の型またはメソッドが重要である。coupling)Caに対応するメトリクス。このメトリクスは、特定の型/メソッドが使用する、アセンブリ外部の型/メソッドの数を示す。この値が高い場合は、特定の型/メソッドが外部アセンブリへの依存が高いことを示している。cohesion)1つのアセンブリ内の複数の型の相互関係性の強さを表すメトリクス。一般に、アセンブリ内の型は、関係が強いことが望ましいが、強すぎてははらない。不安定性(I:Instability)あるアセンブリが、依存するアセンブリの変更にどれほど影響されるかを示すメトリクス。遠心性結合(Ce)と合計カップリング(Ca+Ce)の商で算出される。)アセンブリの抽象型の割合を示す。メインシーケンスからの距離(D)不安定性と抽象性は、一種のバランスにある必要がある。私自身の言葉で説明すれば、このバランスは次のようなものである。抽象性の高いアセンブリは、他のアセンブリの入力アセンブリとして使用されることが多いため安定性が高い。そのアセンブリが不安定であれば多くの場合、遅かれ早かれ変更の必要があり、その変更はこのアセンブリに依存するアセンブリ全体に波及する。非常に具体的な(抽象性の低い)アセンブリは、依存図の端にあることが多く、そのため、それに依存するアセンブリはほとんどない。したがって、非常に不安定である。(LCOM)コヒーレントな(coherent)クラスでは、大部分のメソッドは、そのクラスのフィールドを処理する。クラスのメソッドの多くがフィールドのサブセットだけを処理している場合は、クラスの責任範囲が広すぎ、クラスを分割する必要があることを示している可能性がある。)このメトリクスはメソッドが持つパスの数を示す。メソッドの制御フローは各条件文、ループ、その他の文で分岐する。CCが高いメソッドほど維持が難しい。NDependの利用Andre氏のチュートリアルは、ユーザがツールをまったく知らないという前提で、NDependの使用方法に関して一からあらゆる点を網羅している。Andre氏はNDependを用いて、ユーザを第一歩から始めさせる:プロジェクトの作成プロジェクトの作成は簡単で、次の2モードうちのいずれかで実行できる。NDependは2つの操作モードをサポートしている。2つの違いは、プロジェクトファイルを明示的に作成するかどうかだけである。assemblies」を選択する。これによって、明示的にプロジェクトファイルを作成することなく解析を実行できる。一つのオプションは明示的にプロジェクトを作成することで、解析を2回以上実行する必要がある(継続的なビルドなど)場合に推奨される方法である。Analysis(解析を実行)を選択してプロセスを開始する。Result(結果)ウィンドウResultウィンドウが、NDependの本体である。チュートリアルに示されるように、様々なウィンドウによって、NDependが伝える内容の理解を促進している。以下の各ウィンドウは情報の重要な部分を示している。NDependは多くのメトリクスを吐き出すが、ソースコードに関して必要な情報の大部分を集めることのできる強力なクエリ言語も提供している。Language)はSQLに似たクエリ言語で、私たちの大部分がSQLに慣れているのでSQLは最もクールな言語である。CQLを使用するとメトリクスの大きな集合に問い合わせができる。このクエリ言語がいかに複雑であるかは、CQLの定義を一目見るだけで分かる(リンク)。6CQLは、多くの開発者が毎日使用するT-SQLクエリに類似しているため、CQLの習得はとても簡単である。HTMLレポートプロジェクトアセンブリの解析結果とそれをHTMLに静的に保存することは、その時点でのプロジェクトの状態を知る非常に優れた方法である。instruction)数コメントのある行の数、コメントの割合アセンブリ、種類、インタフェース、構造体などの数パブリックタイプとパブリックメソッドなどの割合タイプごとのフィールド数、タイプごとのメソッド数などの平均。Metricsウィンドウと同様、ただし64ビットをサポートしない)、および、抽象性と安定性のバランスを示すグラフも含まれている。Loker氏のブログ(リンク)のチュートリアル全体を参照のこと。NDependの詳細については、NDependのWebサイト(リンク)を参照のこと。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。