問題タブ [project-organization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3968 参照

visual-studio - VisualStudioでの単体テストの構成

現在、プロジェクト内のすべてのアセンブリに対してペアユニットテストアセンブリを作成しています。どちらも同じフォルダーにあります。

  • MyProject / MyProject.csproj
  • MyProject.Test / MyProject.Test.csproj

オープンソースプロジェクトを見ると、いくつかの小さなプロジェクトがすべてのテストを1つのアセンブリにまとめ、他のプロジェクトが私のように分割しているのを見てきました。私は大規模なソリューションを扱っているので、すべてのテストを1つのプロジェクトにまとめるのはかなりおかしいでしょう。

現在、すべての*.Test.csprojファイルでテストを実行するためのmsbuildロジックがあります。すべてのテストを別のフォルダーに置いていれば、これを行う必要はありません。

特定の方法で物事を行うための良い議論があるかどうか疑問に思っています。

ありがとう

0 投票する
9 に答える
14021 参照

delphi - 循環単位参照を避けるには?

チェス ゲームの次の 2 つのクラスを想像してください。

2 つのクラスをChessBoard.pasChessPiece.pasという 2 つの別個のユニットで定義したいと考えています。

ここで発生する循環ユニット参照を回避するにはどうすればよいですか (各ユニットは他のユニットのインターフェイス セクションで必要です)。

0 投票する
5 に答える
693 参照

django - Django で関連ファイルをまとめる最良の方法

Django で関連ファイルをまとめておく最良の方法は何ですか?

HTML テンプレートに加えて、ほとんどのビューには、少なくとも 1 つの追加の JavaScript ファイルと、場合によっては追加の CSS ファイルがあります。例えば:

  • item_detail.html
  • item_detail.js
  • item_detail.css

可能であれば、これらのファイルを並べて保持したいので、それらを見つけるために 2 つまたは 3 つのディレクトリを調べる必要はありません。

更新:キャッシュを無効にするのはばかげていることはわかっていますが、それは私が求めていることではありません。各ページは、適切にキャッシュされた複数の JavaScript および CSS アイテムをロードします。例えば:

その部分は問題ありません。

これに加えて、各ページはページ固有のJavaScript と CSS をロードします。

この例でitem_detail.jsは、アイテムの詳細ページ (のみ) で必要なイベント ハンドラーがあります。

残念ながら、これは、このビューに複数の並列ディレクトリ構造があることを意味します。

  • my_site
    • widgets
      • item_detail.htmlこれが景色
    • static
      • css
        • item_detail.cssこれはビュー固有の CSS です
      • js
        • item_detail.jsこれはビュー固有の JavaScript です

私が欲しいのはこれです:

  • my_site
    • widgets
      • item_detail.htmlこれが景色
      • item_detail.cssこれはビュー固有の CSS です
      • item_detail.jsこれはビュー固有の JavaScript です

ビューが Django で機能する方法のため、これが可能かどうかはわかりません。

0 投票する
2 に答える
2482 参照

unit-testing - Xcode でライブラリ プロジェクトの単体テストを整理するには?

私はまだ統合開発環境のファンではありませんが、偏見を克服して Xcode を学ぼうとしています。(次は Eclipse/CDT です。昨年試したときもうまくいきませんでしたが、それは別の問題です。)

小さなライブラリ (の一部) になる新しいプロジェクトで新しいコードを書いています。ユニットテストもしたいです。(共有) ライブラリを構築していることを Xcode に説明する方法はありますが、共有ライブラリには含まれない別のソースからコンパイルされたテスト プログラムでも使用したいと考えています。

ソースコード:

  • atom.c
  • atom.h
  • test-atom.c

生成されたファイル:

  • libatom.dylib
  • テストアトム

ライブラリにコンパイルしましたatom.c。ライブラリとリンクするためにatom.hビルドできるように、物事を整理する方法がわかりません。test-atomそれを整理したら、test-atom.c というテスト サポート コード用のライブラリを追加すると、Xcode の制御下にはまだありませんが、比較的簡単になると思います。

FWIW、私は主に Objective C ではなく C で作業しています。

0 投票する
8 に答える
3420 参照

project-organization - プロジェクトを複数のプロジェクトに分割する理由は?

開発プロジェクト (ASP.NET MVC アプリケーションなど) を複数のプロジェクトに分割する一般的な理由は何ですか? コードの整理は、フォルダーを介して行うこともできます。複数のプロジェクトは、循環参照の競合を生成し、それらを管理/解決する必要があるため、複雑さを増す傾向があります。

なぜ?

0 投票する
2 に答える
951 参照

wcf - Silverlightで別のWCFプロジェクトを使用する

WCFを使用するSilverlightアプリケーションに取り組んでいます。SilverlightプロジェクトをホストするASP.Netアプリケーションとは別にWCFプロジェクトを用意する必要があります。ソリューションを整理し、デバッグと展開中に他の人が経験した落とし穴をリストする方法についてのガイダンスを探しています。

具体的には私の質問は

  1. WCFサービスにはどのタイプのプロジェクトを使用する必要がありますか?(WCFプロジェクト、自己ホスト型WCFサービスを備えたASP.NETプロジェクト、その他)

  2. F5キーを押したときに、SilverlightプロジェクトとWCFサービスの両方をデバッグできるようにするには、何をする必要がありますか?デバッグするためだけにクロスドメインポリシーが必要ですか?

私がこれをしたい理由に関するいくつかの背景情報:

徐々にSilverlightアプリケーションに変換しているレガシーWebアプリケーションがあります。これは大規模なWebアプリケーションであるため、その機能の一部は他の機能よりも先にSilverlightに変換されます。

従来のWebアプリケーションには、使用されなくなった多くのコードが含まれています。使用されなくなったコードの多くは、サードパーティのアセンブリを参照しています。これが、古いWebアプリケーションを削除したい理由です。したがって、将来のバージョンのために保持されるWCFサービスをホストしたくないことは明らかです。これが、WCFプロジェクトを分離したい理由です。

0 投票する
1 に答える
123 参照

svn - サードパーティコンポーネントのSVN組織

私たちはJoomla!のコンポーネントを開発する小さな会社です。CMS。Joomla!の専門用語では、コンポーネントはCMS機能を拡張する小さなアプリケーションです(たとえば、ディレクトリコンポーネントを編集しています)。

古典的なフレームワークとして、Joomlaには次のような事前定義されたファイル構造があります。

コンポーネントは、「ここ」でマークされたさまざまなディレクトリで実行されています。要約すると、次のようになります。

  • バックエンドインターフェース
  • フロントエンドインターフェイス
  • 言語ファイル(背面と前面用)
  • メディアファイル(画像、JSスクリプト、CSS ...)
  • モジュール
  • プラグイン

バージョン管理システムとしてSVNを使用していますが、リポジトリを整理するための「最良の」方法をためらっています。

  • Joomlaのファイル構造を模倣する必要があります。たとえば、管理者/コンポーネント/を作成してバックエンドフォルダーを保持するか、単にback/フォルダーを設定します。
  • モジュールとプラグインをコンポーネントのトランクから分離する必要がありますか?

すでに事前定義されたファイル構造に配置する必要があるソフトウェアのリポジトリを設定することについて、あなたはどう思いますか?このための「最良の」戦略は何ですか?

ありがとうございました

0 投票する
4 に答える
68483 参照

java - Eclipse Java プロジェクトのフォルダー構成

私は C#/Visual Studio のバックグラウンドから Java と Eclipse に取り組んでいます。後者では、通常、次のようなソリューションを整理します。

\MyProjects\MyApp\MyAppsUtilities\LowerLevelStuff

ここで、MyApp には .exe をビルドするためのプロジェクトが含まれ、MyAppsUtilities は .exe によって呼び出されるアセンブリ DLL を作成し、LowerLevelStuff はおそらく上位レベルのユーティリティ DLL によって使用されるクラスを含むアセンブリをビルドします。

Eclipse (Ganymede ですが、Galileo に切り替えることを確信できます) には、次のものがあります。

\MyProjects\workspace\MyApp

最初のプロジェクトを作成するとき。ソース ファイルとビルド ファイルを同じフォルダーに配置するオプションがありますが、パッケージ階層を反映するパスに .java ファイルが作成されています。

\MyProjects\workspace\MyApp\src\com\mycompany\myapp\MyApp.java

私の質問は次のとおりです。.NET で上記の MyAppsUtilities および LowerLevelStuff アセンブリ DLL に類似する .jar ファイルのサブプロジェクト (Java/Eclipse の正しい用語ですか?) を作成する場合、フォルダーを同等に編成できますか (すべきですか)。例えば:

\MyProjects\workspace\MyApp\src\com\mycompany\myapp\myapputilities\MyAppsUtilities.java

このようなものを整理するための標準/正しい方法は何ですか?また、IDE で具体的にどのように行われますか?

0 投票する
1 に答える
436 参照

silverlight - 複数のモジュールで Silverlight アプリケーションを構築する

データベースからデータをクエリおよびプロットするためのいくつかのモジュールを含む Silverlight ページに取り組んでいます。これらのモジュールはそれぞれ非常に異なっており、それぞれ独自のコントロール パネルと異なる形式で表示されるデータが必要です。基本的に関連性はありませんが、同じページからアクセスできるようにしたいと考えています。

私の質問は、これを整理して構造化するにはどうすればよいですか? 同じ VS2008 ソリューションで複数の Silverlight プロジェクトを作成し、タブや Div などを使用して .ASPX ページでそれらを参照する必要がありますか?

1 つの大きな自己完結型 Silverlight アプリケーションを作成する必要がありますか? これを XAML 内でモジュール化する最良の方法は何でしょうか?

オンラインで検索しましたが、この件についてはあまり見つかりません。

0 投票する
3 に答える
2057 参照

django - 抽象モデルを使用して Django プロジェクトを編成する方法

「記事、ビデオ、ブログ投稿、ニュース、商品」といういくつかのモデルがあります。それぞれが独自のアプリケーションにあります。

それらはすべて基本的に同じモデルで、それぞれにいくつかの追加フィールドがあります。ただし、それぞれが約 15 のフィールドを共有します。私は抽象基本クラスを使用しています。そのための組織をどのようにすべきかを理解しようとしています。私の現在のセットアップは次のようなものです:

これが良い方法ではないことはわかっていますが、共有されているすべての情報をどこに置くべきかわかりません。私はこのようにして、アプリごとにフォームまたはモデルをサブクラス化し、ローカルに変更を加えました。それらは全体像に対するほんのわずかな変更であるため、抽象クラスが進むべき道だと思いますが、間違っている可能性があります。

それらは非常に多くの構造を共有していますが、明らかな理由から、それらを別々のアプリにしたいと考えています。でも、もう少しすっきりさせたい。

どんな考えでも大歓迎です。