問題タブ [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.
php - ajax アクション ファイルを整理するにはどうすればよいですか
私のphpプロジェクトをajaxActionsファイルで整理する最良の方法を知りたいです。
現時点では、次の./process/ajaxAction_pagename.php
ようなアクションを含むいくつかのファイルがあります。
それを行うためのより良い(またはより標準的な)方法があるかどうか疑問に思っています。
python - モジュールとパッケージを整理するPythonの方法
私は通常、クラスごとに1つのファイルを作成するバックグラウンドから来ています。共通のクラスもディレクトリの下に整理しています。この方法は私には直感的であり、C ++、PHP、JavaSriptなどで効果的であることが証明されています。
このメタファーをPythonに取り込むのに問題があります。ファイルはもはや単なるファイルではなく、正式なモジュールです。モジュールに1つのクラスだけを含めるのは正しくないようです---ほとんどのクラスはそれ自体では役に立たないです。私がクラスを持っている場合、それを常に参照するのはばかげているようautomobile.py
です。Automobile
automobile.Automobile
しかし同時に、大量のコードを1つのファイルに入れて、それを1日と呼ぶのは正しくないようです。明らかに、非常に複雑なアプリケーションには5つ以上のファイルが必要です。
正しい---またはpythonic---方法は何ですか?(または、正しい方法がない場合、どのような方法とその理由をお勧めしますか?)Pythonモジュールにどのくらいのコードをスローする必要がありますか?
.net - 大規模な .net アプリケーションの理想的なプロジェクト構造は?
私は現在 5 人の開発者と一緒にプロジェクトに取り組んでいます。アプリケーションは、シック クライアント、シン管理クライアント、および複数のサポート メンテナンス アプリケーションで構成されます。現在、シック クライアントは VB6 で作成されており、今後 6 ~ 12 か月以内に .NET に変換される予定です。シン クライアントは、シック クライアントの設定を管理スタッフが管理できるようにする管理 Web アプリケーションです。サポート メンテナンス アプリケーションは、毎晩のバッチ ジョブと、アプリケーション全体でデータを移動し続けるために定期的に発生する必要があるジョブを実行するために使用されます。現在、次の構造があります。
ファイルシステム:
現在のファイル システム レイアウト http://img130.imageshack.us/img130/5387/currentprojectlayout.png
SVN:
現在の SVN レイアウト http://img707.imageshack.us/img707/2320/currentsvnlayout.png
ご覧のとおり、Subversion リポジトリは基本的にファイル システム レイアウトを反映しており、標準の Subversion トランク、タグ、およびブランチ フォルダーに明らかな変更が加えられています。私たちのプロジェクトには、参照されているすべての非 GAC dll を保持する lib フォルダーがあります。src ディレクトリ内には、2 つのフォルダーと継続的インテグレーション ビルド ファイルがあります。2 つのフォルダーには、シック クライアント (VB6) とその他のプロジェクト (その他) の 2 種類のアプリケーションが格納されます。VB6 アプリケーションは、アプリケーションのさまざまなビジネス ロジックを含むさまざまなモジュールに分割されます。Other フォルダーには、さまざまなプロジェクトがあります (上記の Project1 – Project6 で示されていますが、他にもたくさんあります)。シン クライアント コードを格納する Web アプリケーションを作成します。ここにある他のプロジェクトのいくつかは、アプリケーションをサポートしています。アプリケーションのさまざまな部分でアクセスされる共通のクラスと、メンテナンス アプリケーションです。VB6 アプリケーションで .NET に移行するとき、プロジェクトを少し再構築し、このアプリケーションを再編成するための最良の方法を知りたいと思います。私が最初に考えたのは、次の構造を持つことでした。
提案されたファイル システム レイアウト http://img248.imageshack.us/img248/7712/proposedprojectlayout.png
この種の問題に対処するスタック オーバーフローの質問がたくさんあることは承知していますが、これは私のプロジェクトに関する具体的な質問であり、他の多くのような一般的な質問ではありません。これがプロジェクトを整理する最善の方法ですか、それとももっと良い方法がありますか?
ありがとうございました、
スコット・ブルー
ruby-on-rails - 複数ファイルの Ruby プログラムを整理するためのシステム?
複数ファイルのRubyプログラムを編成するための標準または従来のシステムはありますか? Ruby で最初の大規模な「プロジェクト」に着手しました。これは、複数のファイルとディレクトリに論理的に編成された検索プログラムです。潜在的な構造を以下に概説しました。
- メインファイル. このファイルは、検索クラスと一般的な検索プロトコルを実装します。
- アルゴリズム分析ファイル。このファイルは、検索結果を解釈する関数を実装します。
- プロトコル ディレクトリ
- 検索するプロトコルごとに 1 つのファイルが含まれます。
- フィード ディレクトリ
- プログラムの目的の一部は、アーカイブされたニュース フィードを検索することです。この機能のファイルは、このフォルダーに格納されます。
ただし、コードには現在、各プロトコルの検索クラスが継承するクラス (Searcher と呼びましょう) があります (GoogleSearcher < Searcher)。これを管理するには、これらのプロトコル ファイルにメイン ファイルを含める必要があります (そうですか?)。私の理想的な構造では、これは不可能に思えます。
私の具体的な例は別として、「ファイルを減らすのではなく増やす」、「ファイルの論理的な構造化は不要」などの規則があるかどうか疑問に思っていました。「ヘルパー」関数のファイルを用意するのは一般的ですか (Rails など)?どのレベルの抽象化が適切と考えられますか?
最後に、いつかこれをライブラリとして Rails に統合する予定です (プラグインではなく、スタンドアロンでも動作するようにしたい)。これが組織に影響を与えるかどうかはわかりません。
これはかなり自由回答の質問であることは承知していますが、それは、関連性の低いアドバイスをいただければ幸いです。前もって感謝します。
version-control - 複数の言語を使用するプロジェクトを編成しますか?
私は現在、perl、.NET、C / C ++、およびJavaのコンポーネントを持つプロジェクトに取り組んでいます。これらのコンポーネントは相互に関連していますが、同じリリーススケジュールに関連付けられていません。ビルド/テスト環境の要件が大きく異なるため、それらをすべて同じ/ bin / src / lib / etc/tests階層にまとめるのは少し扱いにくいです。
この種のプロジェクトを扱うときにソース管理で使用するのに適した組織階層は何ですか?私は現在、独自のブランチを持つ各言語に傾倒しています。
repo / project1 / perl / main/..。
repo / project1 / .NET / main/..。
repo / project1 / Java / main/..。
DIDのリリーススケジュールが同じである場合、推奨される階層はどのように変わりますか?
c++ - 中小規模のプロジェクトのMavenの学習曲線とオーバーヘッド?
中小規模のC++/ Eclipse / LinuxプロジェクトでMavenを使用するための初期の学習とセットアップの曲線、およびその後のオーバーヘッドは(大まかな見積もり、もちろん平均)どうなりますか?
私たちは最初は4人の開発者です。現在、インタラクティブにコンパイルする最大20のネイティブEclipse C ++(CDT)「プロジェクト」があります。自動チェックアウトとビルドスクリプトが必要です。
この段階では少しやり過ぎのようですが、オーバーヘッドが発生しない限り、早めに採用する必要があります。現在、広範な構成管理のための帯域幅がありません。どうもありがとう!
編集済み/詳細:
私は自分のニーズを十分に説明していないことに気づきました。以下に示す参考資料を読んだところ、現時点ではCIツールはやり過ぎのように思われます。私が欲しいのは、一方ではEclipseとうまく統合され、もう一方ではオフラインで非対話型のビルドを可能にするビルドツールです。私はEclipseプロジェクトでの作業の単純さを楽しんでいます。ファイルを追加し、内部コンポーネントと3番目の部分のライブラリへの参照を追加するだけです。makefileなどを手動で管理する必要はありません。数年前にMSVSを使用したときと同様に、この問題は、非対話型ビルドのオプションが提供されないことです。それで、そのようなツールは存在しますか?
namespaces - Clojureで名前空間を使用するための一般的な規則は何ですか?
Clojureで名前空間を使用するための適切なアドバイスと一般的な方法を見つけるのに苦労しています。名前空間はJavaパッケージと同じではないことに気付いたので、Clojureの規則を教えようとしていますが、これは驚くほど判断が難しいようです。
関数をcljファイルに分割する方法、さらにはそれらのファイルをディレクトリに整理する方法については、かなり良い考えがあると思います。しかし、それを超えると、開発環境のメカニズムを見つけるのに苦労しています。相互に関連するいくつかの質問:
- Clojure名前空間には、Javaパッケージに通常使用するのと同じ一意性規則を使用しますか?[つまり、backwards-company-domain.project.subsystem]
- 名前空間と一致するディレクトリ構造にファイルを保存する必要がありますか?[ala Java]
- 複数の名前空間がある場合、すべてのコードをjarにコンパイルし、クラスパスに追加してアクセスできるようにする必要がありますか?
- 各名前空間を1つのjarにコンパイルする必要がありますか?または、多くの名前空間からのcljコードを含む単一のjarを作成する必要がありますか?
ありがとう...
asp.net-mvc - 「ライト」バージョンを可能にするためにasp.NETMVCプロジェクトを編成するにはどうすればよいですか
WebフォームアプリをASP.NETMVCに移行しています。将来的には、このアプリケーションの「ライト」バージョンを提供したいと思うかもしれません。これはかなり漠然とした概念ですが、基盤となるデータベースは同じであり、UIを単純化するだけであり、ユーザーはフルバージョンとライトバージョンを自由に切り替えることもできます。
おそらく同じモデルで異なるビューを使用して、可能な限り再利用したいと思うでしょう。一部のページはまったく同じままですが、他のページは削除されるか、他のページと結合される場合があります。
私が避けたいのは、私たちがやろうと決心した場合に、この「ライト」バージョンを実行するのが困難になるような方法でプロジェクトを編成することです。この時点で私が考えることができるのは、「フル」、「ライト」、「共有」で編成されたコントローラーとビュー用の領域があることだけです。
MVCを使用したアプリケーションの複数のフレーバーの経験がある人はいますか?
git - 個人の Web サイトなど、個人データのバージョン管理をどのように使用しますか?
これはユース ケースの質問ですが、txt2tags を使用して個人の Web サイト用の静的ファイルを生成します。この情報をgitリポジトリに保存することを考えていました。通常、私は RCS を使用します。RCS が最も単純なためです。また、私は 1 人のユーザーにすぎません。
しかし、git/svn/cvs/etc を使用する人々の大きな傾向があるようです。これは、少なくともツールの基本の一部を学ぶ良い方法かもしれないと思いました. 明らかに、ほとんどの学習は、共同作業を行う環境で行われます。
質問に戻りますが、個人の Web サイトを管理するために、git などのバージョン管理システムをどのように使用しますか?
php - Webサイトのファイルをより適切に整理したいのですが、フォルダー階層を使用して.phpファイルにアクセスできます。どうすればそれを上書きできますか?
たとえば、検索フォルダのページにアクセスするには、次のように記述する必要があります。
mywebsite.tld / search / searchJob.php
ユーザーがフォルダ構造などを書き留める必要はありません。これを変更するにはどうすればよいですか?
または、ファイルを整理するためのより良い方法はありますか?私は2ページしかないので、いくつかのファイルを移動することにし、階層で迷子になりました(そのため、写真のようにファイルを移動しました)。