問題タブ [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.
c# - これらすべてのインターフェイスをどこに配置しますか?
ユニットテストで足を濡らそうとしています。別の実装に交換する必要がある何らかの理由が予測されない限り、私は現在、クラスのインターフェイスを作成する習慣がありません。さて、今私は理由を予見します:あざける。
ほんの一握りのインターフェースからおそらく数百のインターフェースに移行することを考えると、最初に頭に浮かんだのは、これらすべてのインターフェースをどこに置くべきかということでした。それらをすべての具体的な実装と混ぜ合わせるだけですか、それともサブフォルダーに入れる必要がありますか。たとえば、コントローラーインターフェイスはroot / Controllers / Interfaces、root / Controllers、または他の何かに完全に配置する必要がありますか?何をアドバイスしますか?
.net - 複数のフレームワークをターゲットにしていますが、実装方法は?
Mercurial 担当者に ac# ライブラリ (VS2010 で開発中) があり、現在 netFX-3.5 をターゲットにしています。ライブラリで使用したい netFX-4.0 の機能がいくつかありますが、2.0 CLR に限定されているプロジェクトがたくさんあるため、netFX-3.5 バージョンも保持および維持したいと考えています。当然のことながら、両方のバージョンで同一のコード (場合によってはほとんどのコード) が存在します。今、これを維持するための最良の(または少なくとも良い)方法であることに戸惑っています。
VS で別のプロジェクトを作成する必要がありますか? それとも、リポジトリのクローンを作成しますか? そのための実績のある戦略はありますか?
更新: VS Add as Link機能を見つけました。これにより、プロジェクト間でファイルを共有できます。これは、2 つのターゲットを同じソリューション内の 2 つのプロジェクトとして実装する上で大きな利点です。私はこの解決策を採用していると確信していますが、さらにアドバイスがあれば、それは素晴らしいことです!
Update2:
前に述べたように、 [リンクとして追加] 機能を使用して、次のように目的の結果を達成しました: 古い (3.5) フレームワーク用の新しいプロジェクトを作成します。最上位バージョンのプロジェクトからのリンクとしてすべてのファイルを追加します。v4.0 プロジェクトでは、netFX-4.0 機能を のpartial class
ような仕様でクラスに追加しますClassName.Net40.cs
。私にとってはうまくいきます。
xcode - Xcode 4、サブプロジェクトのインポートの問題
プロジェクトをサブプロジェクトとして追加したい。サブプロジェクトをメイン プロジェクトにドラッグすると、サブプロジェクトではなくファイル参照として表示されます。以下の図は、問題を説明しています。
google-app-engine - GWT マルチモジュール アプリケーション
私は GWT の初心者で、管理ソフトウェアを開発して AppEngine にデプロイすることを考えています。
私の考えでは、「タブ付き」のユーザー インターフェイスがあります。
Tab1= 販売; Tab2= 請求書; Tab3= ストック ... など。
Stockwatcher のチュートリアルを完了したばかりで、とてもクールですが、コードを整理する方法について疑問に思っていました。
つまり、タブごとに gwt モジュールを作成するのは良い考えですか? たとえば、「請求書」タブを選択したときにのみ、そのタブのインターフェイスをロードしたいと考えています。マルチモジュールに関する私の考えが間違っていたとしても、すべてのコードを「Stockwatcher」クラスに入れないようにする方法を教えてください。例: コンポジットについて読みましたが、理解できません。
私の疑問を理解していただければ幸いです。皆さん、ありがとうございました!
svn - マルチヘッドプロジェクトをSVNからHGに移行する
私たちは現代の世界に加わり、ソース管理のためにSVNからMercurialに移行しています。そのほとんどは非常に簡単です。現在のトランクをHGにインポートしてクローンを作成するだけです。1つのプロジェクトは少し凝っていて、これを行う正しい方法がわかりません。
問題のプロジェクトは、実際には4つの個別のWebアプリケーションであり、そのうち3つは事実上単一の共通スレッド[COREと呼ばれる]のブランチです。SVNの観点からは、次のようになります。
ワークフローに関しては、コアへの変更はPROJECT-AまたはPROJECT-Bのいずれかから行うことができ、COREにマージされます。
私が持っている質問は、「これをHGにまとめて、変更をCOREにマージできるようにするにはどうすればよいですか?」です。
flash - Actionscript プロジェクトの編成
私はさまざまなプログラミング言語を 4 年以上学んでいますが、物事を整理する方法について考えたことはありません。なぜなら、PHP は Flash よりも簡単だからです。今、私はラジオ プレーヤーを作る必要があります。このプロジェクトのメインクラスでどのクラスを作成すべきか、何をすべきか、何をすべきでないかアドバイスをください。
前もって感謝します。
暇をつぶしてすみません。
レイモンズ、ラトビア
codeigniter - 2つのアプリケーションフォルダーを持つ1つのWebサイト:CodeIgniterでコードを共有するにはどうすればよいですか?
フロントエンド(ユーザー)用と管理者ユーザー用の2つのアプリケーションフォルダーを含むCIWebサイトがあります。
内部には、の/applications/front/helpers/
ようないくつかのクラスがMY_url_helper.php
あり、これを管理領域で使用したいので、同じ正確なコードが
/applications/admin/helpers/MY_url_helper.php
あります。つまり、コードを変更すると、2つの場所にあります。
ご想像のとおり、これはSOOの多くのルールに反します。CIを使用する単一のWebサイトで2つのアプリケーションと同じヘルパー/ライブラリを共有するためのより良い方法は何ですか?
c++ - C++ プロジェクトの編成
私は共有ライブラリ プロジェクトのメンテナーになりました。ライブラリはいくつかのモジュールに分割され、それぞれが静的ライブラリとしてコンパイルされてからリンクされます。Eclipse は IDE として使用され、コードは SVN サーバーに保存されます。これまで、ビルド プロセスは手動で処理されていました。つまり、ライブラリをビルドし、すべての .a と .h を共有フォルダーに移動してから、共有ライブラリをビルドしていました。コードは、Linux、ARM、および Windows 用にコンパイルする必要があります。
問題は、より良いテスト (複数のテストと単純なプログラムの例、.cpp ファイルを 1 つだけmain
) とモジュール間コード共有 (モジュール A と B の両方が C を使用しますが、 AとBを接続したくありません)。これにより、依存関係ツリーがより複雑になり、手動で処理するのが難しくなります。また、依存プロジェクトの異なるバージョンにリンクする可能性がある、1 つのプロジェクトのより多くの構成を構築できる必要もあります。
コードをどのように編成し、開発環境をセットアップしますか?
編集:DEから必要な具体的なもの:
- GUI を備えた IDE (私は vim と shell が好きですが、他のものは好きではありません)
- 個別のプロジェクト、それぞれ作成する静的ライブラリ、インクルードするヘッダーのセット、およびサンプル プログラム
- プロジェクトごとに異なる構成、異なるバージョンおよび/または依存関係の構成をリンク/含める
- コード補完と SVN のサポート
visual-studio-2010 - 大規模なVisualStudioソリューションでのユニット/統合テストの編成
非常に大規模なVisualStudioソリューションのテストの開発と整理を始めています。(はい、プロジェクトがほぼ完了したときではなく、コードと一緒にテストを開発する必要があることを私は知っていますが、物事はそれらが何であるかです。)
Visual Studioソリューションでの単体テストの編成について同様の質問を見てきましたが、統合テストに対応する質問も見当たりませんでした。すでに大きなコードベースを乱雑にしないように、テストプロジェクトを配置する場所についてのガイダンスをいただければ幸いです。
ソリューション内の基本的な階層は次のとおりです。(.projで終わらないすべてのアイテムは、プロジェクト内のフォルダーまたはソリューションフォルダーです。)
- HardwareServices
- HardwareService1
- HardwareService1.Core.proj
- HardwareService1.Host.proj
- HardwareService1.Service.proj
- HardwareService2
- HardwareService2.Core.proj
- HardwareService2.Host.proj
- HardwareService2.Service.proj
- HardwareService1
- インフラストラクチャー
- MyApp.Database.proj
- MyApp.Infrastructure.proj
- MyApp.ReportViewer.proj
- MyApp.SettingsManager.proj
- AppModules
- AppModule1.proj
- 一般
- レポート
- サービス
- ViewModels
- ビュー
- AppModule2.proj(他のAppModuleと同様の構造)
- AppModule3.proj(他のAppModuleと同様の構造)
- AppModule1.proj
- モジュール
- ComputeEngine.proj
- Footer.proj
- Header.proj
- CommonServices.proj
私の考えは、「テスト」と呼ばれるソリューションフォルダーを作成し、上記の階層を模倣して、本番コードプロジェクトごとに1つのテストプロジェクトを作成することでした。各テストプロジェクト内に、「UnitTests」および「IntegrationTests」というフォルダーを作成します。
私の焦点は、新しいテストをどこに置くべきか、そして既存のテストをどこで見つけるかについて曖昧さがないように、一貫した命名/編成スキームを作成することです。このプロジェクト/アプリケーションのサイズが大きいことを考えると、後で苦痛を感じないように、構造をゲートからすぐにしっかりと整えたいと思います。
お手数をおかけしますが、よろしくお願いいたします。
android - ライブラリを含むAndroidプロジェクトのソース管理をどのように整理する必要がありますか?
Androidプロジェクトを整理するための最良の方法(またはベストプラクティス)を理解するために少し助けが必要です。簡単にするために、Android用のEclipseワークスペースがであるとしましょうC:\Android\Projects\
。そのフォルダー内で、アプリケーションをライブラリから分離するのが好きで、他に2つのフォルダーがC:\Android\Projects\Applications
ありC:\Android\Projects\Components
ます。
1つのプロジェクトについて、GitHubからComponents
フォルダーにライブラリのクローンを作成しました。たとえば、 C:\Android\Projects\Componentes\SampleLib
(そのフォルダー内に2つのフォルダーTheLib
とTheLibExample
)があります。そして、私のアプリはに作成されC:\Android\Projects\Applications\MyTestApp
ます。次に、次の手順に従ってライブラリをアプリに含めました。
ここで、GitHubを使用してアプリをオープンソースコミュニティと共有したいとします。リポジトリを作成し、すべてをリポジトリにプッシュしC:\Android\Projects\Applications\MyTestApp
ます。
誰かが私のアプリをフォークしたり、私を助けたりしたい場合は、それをコンパイルして実行するためのライブラリが必要になりますが、これは私のプロジェクト自体には含まれていません。ファイルには次のdefault.properties
ようなものがandroid.library.reference.1=../Components/SampleLib/TheLib
あり、誰かがそのライブラリも手動で複製する必要があり、同じ相対パスに配置する必要があります。そうしないと、アプリのソース管理が台無しになります。
この問題を解決するために考えることができる唯一の方法は、ワークスペースを次のように整理することです。
そして、私のリポジトリはからのコンテンツで満たされているはずですC:\Android\Projects\Applications\MyTestApp\
。
しかし、ライブラリが更新されるとどうなりますか?新しい変更を単純にプルすることはできません。それらをTheLib
フォルダーにコピーする必要があります。以前のフォルダ編成では、コピーではなく元の複製リポジトリを参照していたため、これは必要ありませんでした。
それならどうすればいいですか?オプション1を使用して、プロジェクトをフォークする人にライブラリの依存関係を適切と思われる方法で処理させるか、2番目のフォルダーを使用して、元のフォルダーから変更をプルするときに2つのフォルダーを同期させて、全員に作業を追加する必要があります。リポジトリ?