問題タブ [code-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++ - C++ プロジェクトのソース コードのレイアウト
プロジェクト ディレクトリを整理する一般的な方法の 1 つは、多かれ少なかれ次のようなものです。
app.cpp
:
.h
同じライブラリのファイルはすべて.cpp
同じディレクトリにあります。名前の衝突を避けるために、ファイル名には多くの場合、会社名やライブラリ名がプレフィックスとして付けられます。MyLib は MyApp のヘッダー検索パスなどに含まれます。私はファイル名にプレフィックスを付けるのは好きではありませんが#include
、ヘッダー ファイルがどこに属しているかを正確に把握するために、. ファイルを整理するこのアプローチは嫌いではありませんが、もっと良い方法があるはずだと思います。
新しいプロジェクトを開始するので、ディレクトリ構成のアイデアを募集したいと思います。現在、私はこのディレクトリ構造が好きです:
app.cpp
:
.cpp
ファイルとプライベート (即時ライブラリにのみ表示される).h
ファイルは、src ディレクトリ (src は lib と呼ばれることもあります) の下に格納されます。パブリック ヘッダー ファイルは project/lib ディレクトリ構造に編成され、<ProjectName/LibraryName/headerName.h>
. ファイル名の前に何も付けません。他のチームが使用できるように MyLib をパッケージ化する必要が生じた場合は、makefile を変更して、適切なバイナリ ファイルと include/ProjA ディレクトリ全体をコピーするだけで済みます。
ファイルがソース管理にチェックインされ、人々がファイルの作業を開始すると、ディレクトリ構造を変更するのは難しくなります。初めのうちはきちんとしたほうがいいです。
このようなソース コードを整理した経験のある人はいますか? 気に入らない点はありますか?もっと良い方法があれば、ぜひ教えていただきたいです。
java - JAXB jar の参照 - ベスト プラクティス
初めての投稿なので、お手柔らかに。
j2ee Web アプリケーションで使用するサード パーティ製の jar を整理して参照する方法についてアドバイスを求めています。整理して参照する必要がある jar は、JWSDP-2.0 JAXB api jar です。
Eclipse と Tomcat 5.5 を使用しています。私の Web アプリは XML を Web サービスと交換するため、JWSDP-2.0 の JAXB API を使用して XML のマーシャリングとアンマーシャリングを行う必要があります。
JWSDP-2.0 をダウンロードして PC にインストールしました。私は現在、そこに含まれる必要なjarファイルを、自分のマシンのEclipse内で、また自分のマシンと最終的なテストおよび本番サーバーの両方のTomcat内でWebアプリで利用できるようにするための最良の方法を見つけようとしています.
.jar ファイルをプロジェクトの WEB-INF/lib フォルダーにコピーすることから始めました。これは、Tomcat へのデプロイ時に jar ファイルが .war にエクスポートされることを意味していました。ただし、jar ファイルは JWSDP-2.0 のいくつかの異なるライブラリから取得されているため、私はこれが好きではありません。このようにそれらをコピーすると、JAXB、JAXP、SAAJ などとして適切に分離されるのではなく、すべてが一緒に放り込まれることになります。 、いくつかの名前の衝突があります。たとえば、私の Web アプリには、Web アプリの別の部分で既に使用されている xalan.jar などの古い xml 解析 jar が既に含まれています。
次に、これらの jar をすべて削除し、WSDP-2.0 インストールの場所から jar を参照する「jwsdp-2.0_jaxp」、「jwsdp-2.0_jaxb」など、Eclipse 内に一連のユーザー ライブラリを作成しました。これは、Eclipse で Web アプリをコンパイルする限りはうまく機能しますが、Tomcat でこれらの jar を使用できるようにする必要があり、これを行うための最良の方法に少しこだわっています。
したがって、基本的なレベルでの私の質問は、Tomcat で参照される jar ファイルを取得するにはどうすればよいですか?
より一般的には、サーバーへの展開をスムーズにするために、プロジェクトでサードパーティの jar を参照および含めるためのベスト プラクティスに関するアドバイスを探しています。
この種のシナリオのベストプラクティスを学ぶのに役立つ、コードの編成と展開に関する優れた記事/書籍/リソースを誰かが推奨できる場合、それは素晴らしいことです
事前に乾杯。
php - シンプルなバージョン管理システムをコーディングするには?
単純なバージョン管理システムを作成したいのですが、データとコードを構造化する方法についてのアイデアがありません。
以下に短い例を示します。
- ユーザーのログイン
- ファイルをアップロードするとき、ユーザーには 2 つのオプションがあります。
- 新しいファイルを提出する
- ファイルの新しいバージョンを送信する
ユーザーはツリーを表示できる必要があります。(異なるバージョン) ツリーは最大 2 レベルまでです。
ファイルには、最終バージョン (最新の承認済みバージョン) とドラフト バージョン (最新のアップロード ファイル) の 2 種類があります。ファイルは物理的にサーバーに保存されます。各ファイルは、ユーザー (または複数) と 1 つのグループのみが所有しています。
編集:グループはドキュメントのグループを表し、ドキュメントは一度に 1 つのグループのみが所有できます。ユーザーはグループに依存しません。
編集を開始:
これが私がやったことですが、実際には効率的ではありません!
しかし、管理すること、拡張することは困難です。グループパラメータが原因だと思います...
編集を終了
質問は次のとおりです。
- データベースをスキーマ化するにはどうすればよいですか?
- この作業のバージョン管理に役立つ情報は何ですか?
- フォルダ、ファイルの構造はどのようなものですか?
- この種の作業を行うには、どのようなヒント、ヒントが必要ですか?
(アプリケーションは PHP と Zend Framework で開発され、データベースは mysql または postgresql である必要があります)
asp.net - プロジェクト内のファイルを整理する最良の方法
プロジェクト内のファイルを整理する最良の方法は何ですか?
たとえば、すべてのユーザー コントロールを別のフォルダーに配置しますか?それともサブ フォルダーに配置しますか? ビジネス ロジック フォルダはありますか? ヘルパー クラス フォルダー?
私は自分のプロジェクトを次のように整理していました。
プロジェクト/ユーザー コントロール/モジュール名/プロジェクト/クラス/モジュール名/
今、私はこのようなものに向かってもっと学んでいます: Project/Module Name/User Controls/ Project/Module Name/Classes/
最善の方法は何ですか?特にプロジェクトが本当に大きくなった場合は?どのタイプのフォルダ構造が存在する必要がありますか?
database - アプリケーションのサブジェクトごとに SQL ファイルを整理することに頭を悩ませる価値はありますか?
私の会社では、各データベース オブジェクト (ストアド プロシージャ、ビューなど) を個別の SQL ファイルとして保存し、そのようにソース管理下に配置しています。
これまで、バージョン管理されたファイル構造には非常にフラットなストレージ モデルがありました。
DatabaseProject
Functions
- (すべての関数がここにあり、それ以上のネストはありません)
StoredProcedures
- (すべてのストアド プロシージャがここに含まれます。それ以上のネストはありません)
Views
- (同上)
大きな新しいプロジェクトのために、別のアイデアが思い浮かびました。プレハブのフラット リストではなく、件名ごとにこれらのファイルを保存してみませんか?
例えば:
DatabaseProject
Reports
- (個々のストアド プロシージャ、ビューなど)
SpecificReport
- (ここにオブジェクトが追加され、必要に応じてさらにネストされます)
SpecificApplication
- (任意の深いネストを持つすべてのタイプの DB オブジェクト)
- など……。
明らかな欠点は、このフォルダー構造がデータベース オブジェクトにいかなる種類の名前空間階層も課さないことです。組織専用です。したがって、重複した名前を持つオブジェクトを導入するのは非常に簡単です。データベースプロジェクトを調査し、名前の競合で死ぬには、ある種のビルドツールが必要です。
私が知りたいのは、バージョン管理されたファイル構造でアプリケーションのサブジェクトごとに SQL ファイルを整理するこの方法を試した人はいますか? それは価値がありました?私が説明したように、プロジェクトを監視するビルド ツールを作成しましたか?
javascript - javascript を HTML から分離することは不可能ですか?
具体的には、このタイプのコードを避けることについて話している:
onfocus
ここでは、とonkeypress
イベント ハンドルを別々に、つまり .js ファイルに入れたいと思います。このような:
ただし、ここでの問題は、テキスト ボックスの ID を関数に渡す必要があることupdateCharsLeft()
です。その関数でテキスト ボックスの ID から ID を抽出しなければならないのは面倒なので、実際には HTML コード内にイベント ハンドラーを配置するだけの方がクリーンです。
考え?
asp.net - JavaScript をどこに置くべきですか? ページまたは外部ファイル?
VS 2008 には、1 つのマスター ページを持つ ASP.NET コンテンツ ページがあります。このページにクライアントサイドバリデーションなどのJavaScript関数を追加したいと考えています。私の質問は次のとおりです。
- これらのスクリプトを別の
.js
ファイルに記述するか、ファイル内に埋め込む必要がありますか.aspx
。 - この選択は Web サイトのパフォーマンスに影響しますか?
- JavaScript ファイルを記述する際のルールはありますか?
r - 大規模なRプログラムを編成する方法は?
複雑なRプロジェクトに着手すると、スクリプトがすぐに長くなり、混乱します。
私のコードが常に楽しく使えるようにするために採用できるいくつかのプラクティスは何ですか?私は次のようなことを考えています
- ソースファイルへの関数の配置
- 別のソースファイルに何かを分割するとき
- マスターファイルには何を含める必要がありますか
- 関数を組織単位として使用する(Rによってグローバル状態へのアクセスが困難になることを考えると、これが価値があるかどうか)
- インデント/改行の練習。
- 扱う({?
- )}のようなものを1行または2行に入れますか?
基本的に、大きなRスクリプトを整理するための経験則は何ですか?
organization - 大きなユーティリティファイルを持っているのはいたずらですか?
私の C プロジェクトには、かなり大きな utils.c ファイルがあります。それは本当にさまざまな種類の多くのユーティリティでいっぱいです. そこにいろいろな機能を詰め込むだけでちょっとエッチな気分になります。たとえば、lowercase() 関数などの低レベルのものに関連するいくつかのユーティリティがあり、さまざまなカラー フォーマットとの間の変換などの非常に洗練されたユーティリティもいくつかあります。
私の質問は、さまざまな種類のユーティリティが含まれるこのような大きな utils.c を使用するのは非常に悪いことですか? さまざまな種類のユーティリティ ファイルに分割する必要がありますか? graphics_utils.c などどう思いますか?
java - 各パブリッククラスが別々のファイルにあるのはなぜですか?
私は最近Javaの学習を始めましたが、すべてのJavaクラスを個別のファイルで宣言する必要があるのは非常に奇妙でした。私はC#プログラマーであり、C#はそのような制限を強制しません。
なぜJavaはこれを行うのですか?設計上の考慮事項はありましたか?
編集(いくつかの回答に基づく):
IDEの時代にJavaがこの制限を取り除いていないのはなぜですか?これにより、既存のコードが破損することはありません(または破損しますか?)。