問題タブ [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.
java - 推奨されるソース管理ディレクトリ構造?
新しいJ2EEWebアプリケーションのソース管理にSubversionを使用します。コード、テスト、ドキュメントを整理するために、どのディレクトリ構造をお勧めしますか?
python - Python 単体テストはどこに行くのですか?
ライブラリやアプリを作成している場合、単体テスト ファイルはどこに保存されますか?
テスト ファイルをメインのアプリ コードから分離するのは良いことですが、テストするモジュールをインポートするのが難しくなるため、アプリのルート ディレクトリ内の "tests" サブディレクトリにそれらを配置するのは面倒です。
ここにベストプラクティスはありますか?
c# - 拡張メソッドの整理
拡張メソッドをどのように編成しますか? オブジェクト クラスと文字列クラスの拡張機能があるとしたら、これらの拡張メソッドをクラス IE に分離したくなります。
私はこれを複雑にしすぎていますか、それとも意味がありますか?
c# - 「using」ディレクティブは名前空間の内側または外側にあるべきですか?
一部の C# コードでStyleCopを実行していますが、using
ディレクティブが名前空間内にある必要があると報告され続けています。
using
名前空間の外側ではなく内側にディレクティブを配置する技術的な理由はありますか?
python - Pythonコード構成の質問:卵+パッケージ+ビルドアウト+単体テスト+ SVN
共通のモジュールを共有するPythonプロジェクトがいくつかあります。これまで、私は...ええと...共通コードの複数のコピーを保持し、手動で同期してきました。しかし、私は明らかに何か他のことをしたいと思っています。
zc.Buildoutがおそらく私が必要としているものであるかのように、今私には見えます。私がすべきことは、システムの再利用可能な各コンポーネントを別々の卵に入れ、ビルドアウトを使用してそれらをプロジェクトにアセンブルすることだと思います。
また、特定のモジュールについては、ユニットテストを別のパッケージまたはeggに入れて、すべてのプロジェクトにコンポーネントのユニットテストのコピーをインストールしないようにする必要があると考えています。ライブラリが使用されているだけではなく、ライブラリが開発されている場所でのみ単体テストを実行したいと思います。
だから多分私はこのようなものが欲しい
等
app1とapp2の両方が独自のコードとテストを備えた独立したアプリケーションであるが、lib1とlib2の両方を含み使用している場合。そして、lib1 / test、lib1 / code、lib2 / test、lib2code、app1、app2は別々の卵です。これは正しいですか?
しかし、今は混乱しています。app1を開発するとき、ビルドアウトでlib1、lib2、およびapp1のコピーを、app1の下に直接配置するのではなく、別の作業ディレクトリにプルする必要があると思います。しかし、これは私のSVNソース管理でどのように機能しますか?作業ディレクトリがビルドアウトを使用して動的に構築されている場合、変更をリポジトリにチェックバックできるライブSVNディレクトリにすることはできませんか?
ビルドアウトがどのように使用されるのか誤解しましたか?まったく別のアプローチをとったほうがいいでしょうか?プロジェクト間でソース管理とモジュール再利用をどのように組み合わせますか?
更新:現在この質問に回答してくれた2人に感謝します。私はこれでもっと実験しています。
embedded - 組み込みプロジェクトでコードをどのように整理しますか?
高度に埋め込まれた(制限されたコードとRAMサイズ)プロジェクトは、コード編成に固有の課題をもたらします。
組織のないプロジェクトをたくさん見ました。(ほとんどの場合、私の経験では、コードの非機能的な側面には関心がないハードウェアエンジニアによるものです。)
ただし、それに応じてコードを整理しようとしています。
- ハードウェア固有(ドライバー、初期化)
- アプリケーション固有(再利用される可能性は低い)
- 再利用可能、ハードウェアに依存しない
モジュールごとに、目的をこれら3つのタイプのいずれかに保つようにしています。
組み込みプロジェクトのサイズが限られており、パフォーマンスが重視されているため、この組織を維持することがよくあります。
ある文脈では、私の現在のプロジェクトは、8kフラッシュと256バイトRAMを備えたMSP430上の限定されたDSPアプリケーションです。
c++ - 名前空間 (C++) のような既存のクラスを拡張しますか?
あなたにとって簡単だからという理由だけで、私は二人称で書いています。
あなたはゲーム エンジンを扱っていて、特定のエンジン クラスに 'bla' を実行する新しいメソッドがあることを本当に望んでいます。しかし、「ゲーム」コードを「エンジン」コードに広げたくないでしょう。
したがって、1 つの新しいメソッドを使用してそこから新しいクラスを派生させ、そのコードを「ゲーム」ソース ディレクトリに配置することもできますが、別のオプションがあるのでしょうか?
したがって、これはおそらく C++ 言語では完全に違法ですが、最初は、「「親」ヘッダーといくつかの特別な構文を含む独自のヘッダーを介して、既存のクラスに新しいメソッドを追加できるのではないかと考えました。これは、作業中に可能です。たとえば、名前空間を使用して...」
複数のヘッダーにまたがるクラスのメソッドを宣言できないと仮定すると (そして、宣言できないと確信しています)、「ミドルウェア/エンジン/ライブラリ」と「アプリケーション」の間の明確な分割をサポートする他のオプションは何ですか?不思議?
c - ある C ソース ファイルを別の C ソース ファイルに含めますか?
別#include
のファイル内のファイルを使用しても問題ありませんか(または、推奨/グッド プラクティスでさえありますか) ?.c
.c
javascript - jQueryと「整理されたコード」
私は最近、jQuery コードを整理する最善の方法を理解するのに苦労しています。私は以前に別の質問をしましたが、私は十分に具体的ではなかったと思います (この質問はこちらにあります)。
私の問題は、アプリケーションをリッチにすればするほど、クライアント側が制御不能になるのが早くなることです。この状況を考えてみてください...
現在、この状況は不可能からそう遠くありません。これが正しい方法だと言っているわけではありませんが、jQuery コマンドのいくつかのレベルまで下がって、画面が溶け始める前にロジックをどれだけ追加できるか疑問に思うことは珍しくありません。
私の質問は、人々はこれをどのように管理したり、コードの複雑さを制限するために組織したりしているのですか?
asp.net-mvc - ASP.NET MVC のコントローラーが名前ベースなのはなぜですか?
ASP.NET MVC では、すべてのコントローラーに "Controller" というサフィックスを使用する必要があります。これは不必要に制限しているように思えます - 技術的な理由はありますか?
私はたいてい興味がありますが、より柔軟な命名規則がコード編成を改善できる状況を見ることができます。Controller
リフレクションを使用して派生クラスを検索することで、可能性のあるコントローラー クラスを簡単に発見できませんでしたか? ControllerAttribute
または、コントローラ クラスに?マークを付ける必要があります。