問題タブ [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.
javascript - Visual Studio での CSS/javascript の Vim スタイルの折りたたみ
Visual Studio でVIM スタイルを折りたたむ方法を知っている人はいますか? 私は C# クラス ファイルで #region ブロックを使用していますが、それらは素晴らしいものですが、残念ながら JavaScript と CSS に相当する機能はありません。私が現在取り組んでいるサイト/アプリには、かなり多くの css セレクターと javascript があり、モノリシック ファイルをナビゲートすることが難しくなっています。
私たちが検討したオプションの 1 つは、css と javascript を jquery モジュールと同様に別々のファイルに分割することですが、そうすると、http 要求の総数が増えるという点でパフォーマンスの問題が発生します。
誰かが狂気を管理するための提案があれば、私は大いに感謝します!
更新: Richard Kimber は、Visual Studioのブックマーク機能を使用して、見出しによるナビゲーションをより管理しやすくすることを提案しています。これは正しい方向への一歩ですが、コードの折りたたみ/ブロックほど有用ではありません。
code-organization - 大規模なプロジェクトでクラスをどのように編成しますか?
アプリケーションには、モジュールとして非常に具体的に記述できる機能がたくさんあります。通常、何らかのセットアップ ダイアログが表示され、ユーザーが [OK] をクリックすると、実行するプロセスが構成され、そのプロセスが実行されます。場合によっては、ユーザーがより関与し、ユーザーが新しいダイアログを開いてしばらくの間ダイアログで作業し、基礎となるデータベースに変更を加える多くのことを行います。
私は通常、いくつかの標準クラスで終わります
よりエンドツーエンドのモジュールがあれば、それは WorkerPanel.cs WorkerData.cs SetupOptions.cs (実行間で保持されるパネルの状態) Lib/WhateverBackendStuffINeedToSupportModule ApiWrapper である可能性があります
現在、それぞれにフォルダーがあります。
ご覧のとおり、すべてが本当に広がっています。50 以上のモジュールでは、これらのフォルダーは実際には整理されていません。サブシステムごとに分割しても、まだ混乱しています。すべてをまとめて、すべてをクラス型ではなく関数で区切るのは悪い設計でしょうか?
クラスをどのように編成していますか?また、長所と短所は何ですか?
python - 内部状態を共有する必要がある大規模な Python プロジェクトを編成していますか?
私は現在、かなり大きな Perl を移植している最中です。問題は、コードをuse
ing で使用できるようにするために Perl の小さなトリックを使用していることです。Python でもほぼ同じことを行い、コードベースをimport
ing の 1 つの大きなモジュールにしました。私は長い間 Python についてしっかりと理解してきましたが、内部状態を維持しながらそれ自体の他の部分にアクセスする必要がある Python で書かれた大規模なプロジェクトの経験はありません。
全体を 1 行で単純にインポートすることはまだ試していません ( import core
) が、現在、最善の方法で作業を行っていないことはわかっています。以下は、すべてを動かすマスター スクリプトの例です。
動作しますが、満足していません。現在、マスター クラス スクリプトは、core
モジュールの各部分をインポートし、含まれているクラスのインスタンスを作成し、それらのクラスで自分自身を引数として渡し__init__
ます。そのようです:
これで、そのクラスのコードは、親クラスを介して残りのコードベース全体にアクセスできるようになります。
私の質問は次のとおりです。上記を考慮して、プロジェクトを再編成し、コードをリファクタリングして、他のすべてにアクセスする現在の機能を保持するための最良の方法は何でしょうか? コードは非常に重要ではないため、内部データの整合性についてはそれほど心配していません。親クラスをそのような醜い方法で処理する必要があるのは好きではありません。また、これらの長いチェーンもコードの速度を低下させます。
編集:おっと、これらを忘れました:両方のプロジェクトのSVNリポジトリへのリンク。私のものはここにあり、私が移植しているプロジェクトはここにあります。
unit-testing - MVC コントローラーのテストをどのように編成しますか?
人々がコントローラーのテストをどのように編成するかについて、きちんとした提案を探しています。
たとえば、「アドレス」コントローラーの「追加」機能を例にとると、
というフィクスチャがあるかもしれませんが、"when_adding_an_address"
このタイトルの下でテストする必要があるアクションが 2 つあります...
フィクスチャのメソッドで両方のアクションを呼び出したくないAct()
ので、フィクスチャを半分に分割しましたが、どのように名前を付ければよいでしょうか?
"When_adding_an_address_GET"
そして"When_adding_an_address_POST"
?
物事は急速に乱雑になっているようです。
また、コントローラーのステートレス/セットアップレス アサーションをどのように処理し、これらを上記のようにどのように配置しますか? 例えば:
これは私が知っているカスタム コードですが、アイデアを得る必要があります。メソッドにフィルター属性が存在することを確認するだけです。Arrange()
ポイントは、またはを必要としないことAct()
です。
どんなヒントでも大歓迎です!
ありがとう
html - HTML サイトの開発: ナビゲーションとメニューの div と ul の比較
私は Web 2.0 サイトの開発に取り組んでおり、サイトがメニューやナビゲーション バーをどのように扱うかを調べてきました。多くのサイト (twitter など) は UL を使用しますが、stackoverflow などのサイトはリンクを含む ID である div を使用します。
IE のバグを排除する以外に、UL を使用しない利点はありますか?
ULを使用する利点はありますか?
ありがとう!
user-interface - GUIコードの整理
私の質問には2つの部分があります。
読み取り、書き込み、および保守が容易なGUIコードの記述方法に関するヒントやWeb上のドキュメントへの参照を誰かが持っていますか?
例。
GUIフォームが広範になるほど、かなり短いイベントハンドラーメソッドの長いリストになってしまいます。プライベートヘルパーメソッドを追加しようとすると、それらはシャッフルで迷子になり、1つの考えに従うために、常にページをスクロールする必要があります。
アプリケーション全体で設定を簡単に管理するにはどうすればよいですか?
例。
ユーザーがドロップダウンリストで新しいアイテムを選択した場合、GUIでいくつかのコンポーネントを有効にし、アプリの構成ファイルを更新し、後で使用するために新しい値をローカル変数に保存する必要がある場合があります。私は通常、すべての設定(上記を参照)のイベントハンドラーを作成せず、「LoadGUISettings」や「SaveGUISettings」などのメソッドを使用することを選択しますが、コード全体でこれらのメソッドを呼び出すことになり、多くの処理が実行されます。実際の変更があったとしてもごくわずかしか更新しないためのコードです。
ありがとう!
branch - ブランチの拡張使用に関する長所と短所
考えられるほとんどの状況や組織に対して、適切な分岐戦略を選択できるようになりたいと考えています。そこで私は、開発組織でコード リポジトリ ブランチの使用を拡大することのプラスとマイナスの効果の広範なリストを探しています。
投票システムがフィードバックをランク付けするのに役立つように、各投稿に賛成 または反対を1 つずつ投稿してください。
svn - 何千もの要素の Subversion リポジトリを整理する
始める前に: 私は多くのフォーラム (Stack Overflow を含む - そして、svn の編成に関する SO の質問がたくさんあります) に長い時間を費やし、Google を検索し、ドキュメントを読みました (Subversion の本をいくつか所有しています)。Subversion でコード ベースを整理する良い方法をまだ見つけていません。私たちは現在、リビジョン管理システムとして RCS を使用しており、すべてが 1 つの RCS ディレクトリに保存されています。私は Subversion もよく使っていたので、その機能と仕組みはよく知っています。完全にプログラミングに関連するものではないため、この質問を何ヶ月もためらっていましたが、解決策にたどり着けなかったので、質問するのにこれ以上の場所はありません!
私の頭の中で物事を複雑にしているのは、「プロジェクト」という転覆用語です。Subversion で Java プロジェクトを管理したい場合、これは私にとって完全に理にかなっています。jar ファイルに結合されるすべての Java ファイルは「プロジェクト」と見なすことができます。それらはすべて一緒に属します。しかし、私たちの環境では、「プロジェクト」とは何かを簡単に定義する方法がわかりません。4,000 以上のプログラムがあり、それらはすべて互いに独立しています。それらの多くは、シェル スクリプトまたは perl スクリプトです。スクリプトの中には、一般的な「ユーティリティ」または「ライブラリ」スクリプトを使用するものもありますが、ほとんどの場合、すべてのコード オブジェクトは独立しています。
この環境の 1 つの「プロジェクト」には、プログラム A、B、C、および構成ファイル AA が含まれる可能性があります。別のプロジェクトでは、プログラム C、D、E、および構成ファイル BB を使用できます。さらに別のプロジェクトでは、構成ファイル AA やプログラム B を変更している可能性があります。どのプログラムまたはファイルがグループに属しているかを分類する方法はありません。このため、コードをサブバージョンに編成する方法がわかりません。すべてをマスター プロジェクト トランクに入れることもできますが、作業コピーをチェックアウトするということは、4,000 以上の要素をすべてチェックアウトすることを意味します。
状況を説明するために、これはデータ ウェアハウス用です。倉庫を機能させるには、4,000 以上のコード要素すべてが必要です。いくつかの要素でアクセスされる列の変更を必要とする特定のビジネス要件が発生し、別のビジネス要件では他のいくつかの要素 (おそらく他のプロジェクトからの同じもの) の変更が必要になる場合があります。
Subversion は私たちに最適ではないかもしれませんが、うまくいくと信じています。Web コードと Java プログラム用の Subversion サーバーが既にあり、簡単に定義できるプロジェクトがあるため、うまく機能しています。メインのコード ライブラリを整理する方法がわかりません。
うまくいけば、そのいくつかは理にかなっています...あなたの知恵を前もって感謝します!
ruby-on-rails - Ruby On Rails でテスト データをどのように整理しますか?
Ruby On Rails でテスト データを整理する方法として、フィクスチャ、オブジェクト ファクトリ、またはその他の方法をお選びください。なんで?
python - Pythonユニットテストをどこに保管しますか?
重複の可能性:
Pythonユニットテストはどこに行きますか?
単体テストは、コードと同じファイル、同じディレクトリ内の別のファイル、またはまったく異なるディレクトリに保存されていますか?