問題タブ [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 * .cpp)ファイルを#includeする正当な理由はありますか?
私はしばらくの間、オープンソースライブラリ(「高速人工ニューラルネットワーク」)を使用してきました。静的ライブラリのソースを使用しています。ただし、コンパイルすると、ライブラリに他の*.cファイルに*.cファイルが含まれているという事実が原因である可能性のある何百ものリンカー警告が表示されます(必要なヘッダーのみが含まれていて、触れなかったため) lib自体のコード)。
私の質問:ライブラリの開発者がこのアプローチを使用した理由はありますか?これは強く推奨されていませんか?(または、少なくとも私はこれが悪いと私の人生を通して言われました、そして私自身の経験から私はそれが悪いと信じています)。それとも、それは単に悪い設計であり、このアプローチには利益がありませんか?
私はこの関連する質問を知っていますが、それは私の質問に答えません。私はこれを正当化するかもしれない理由を探しています。
ボーナスの質問:ライブラリコードにあまり触れずにこれを修正する方法はありますか?私は自分の仕事がたくさんあり、これ以上作成したくありません;)
c++ - Sourceforge で C++ プロジェクトをオープンソース化しようとしています。コード編成に関するヒントを得ることができますか?
私が取り組んでいるプロジェクトを GPL の下で Sourceforge にアップロードしようとしています。それはgitとうまく機能し、Sourceforgeが物事を提示する方法です。
私のプロジェクトはクロスプラットフォームの C++ アプリケーションであり、次のもので構成されています。
- 実際の作業を行うライブラリ部分
- ライブラリ部分を使用する別の GUI 部分
- ライブラリのコンパイルにインクルード パスが必要なオープン ソース ライブラリ
- 変更されたオープン ソース ライブラリは、ある意味でこのプロジェクトの直接の一部でもあります。
- すべてのライブラリのコンパイル済み出力
これを整理する最良の方法は何ですか?
自分で作業している間、プロジェクトルートから次のようにしています:
/LibPortion
/GuiPortion
/libs/open source libraries
/libs/modified open source libraries
/libs/compiled/ コンパイル済みライブラリを保持します。 Cygwin ライブラリ ファイルなどのオープン ソース ライブラリ以外のもの
これは物事を整理する賢明な方法ですか?それは慣習と期待に一致していますか?
プロジェクトをチェックインするとき、プロジェクトの一部だけでなく、オープン ソース ライブラリもチェックインすることに意味がありますか? 新しい開発者のためにプロジェクトをセットアップして実行する際の摩擦を最小限に抑えるため、そうすることは理にかなっていると思います。確かに、少なくとも変更されたオープン ソース ライブラリをチェックインする必要があります。
また、コンパイルされたライブラリの下にあるリポジトリに何を含めるのが理にかなっていますか? 私のプロジェクトはクロスプラットフォームであるため、その内容はビルドターゲットごとに異なるため、そのディレクトリを無視して空のままにするようにgitに指示するのが最善かもしれないと考えています。
ただし、すべてのライブラリを自分でビルドおよび/またはダウンロードする手間をかけたくない人にとっては、主要なプラットフォーム用に事前にコンパイルされたライブラリを提供することも非常に良いようです. それらを共有する最もスマートな方法は何ですか? 私は Sourceforge を見ていますが、私の git リポジトリの一部ではない場合、それらを共有する方法がすぐにはわかりません。
javascript - JavaScriptコード編成の提案/コードレビュー
私は多くのカスタム(ページ固有のjs)を持つ大規模なサイトで作業しています。main.jsファイルとpage-specific.jsファイルが1つあります。次のパターンを使用できるより良いアプローチはありますか?
ajaxを使用する複数のメソッドをリファクタリングするにはどうすればよいですか?
私は現在、 onclick = "MYSITE.message.send ...などのすべてのonclickイベントをインラインで割り当てています-それはより良い方法ですか?複数の$( "#button")。click(function(){});を作成することはより多くの作業のようです..。。
}
php - わだち掘れ、次のレベルへの突破口が必要
私は平凡で独学の PHP スキルを使って質素な Web サイトに取り組んでおり、現在のインターフェース構造は次のようになっています。
これは最初は問題なく機能し、かなりよく整理されているように見えましたが、必要な機能が 10 倍に増加し、急速に保守不可能で厄介な混乱に変わりつつあり、どうすれば抜け出せるのかわかりません。
それぞれの状況で呼び出される関数はかなりよく書かれており、集中しているように感じますが、ユーザーとレイアウトを作成してリターンを処理する関数の間の中間ステップをどのように処理するかについて途方に暮れています。
MVC は 1 つの解決策だと思いますか? でもここからあそこへの行き方が分からなくて困ってます…
上記のコードが引き起こしたかもしれない頭痛や不快な思い出についてお詫び申し上げます。お時間をいただきありがとうございます。
javascript - asp.net MVCプロジェクトで大きなJavaScriptコードを処理するための優れた戦略は何ですか?
私はMVCプロジェクトのJavaScriptコードを管理するための最良の方法を見つけようとしています。私のサイトのいくつかのページは、ページのワークフローのために、ユーザーインターフェイス用のjavascriptで非常に重いです。
開発とデバッグを容易にするために、すべてのjavascriptを4つの.jsファイルに分割します。このファイルにInitializations.js
は、あらゆる形式のjquery制御とフィールドの初期化を処理するDataRetrieval.js
すべての機能があり、ajaxを介してデータを取得および表示するすべての機能がDataModification.js
あります。 ajaxを介してサーバーにデータ変更を送信するためのすべての関数。これらのUtilities.js
関数には役立つユーティリティ関数があります。
このように構造化することで、関数の機能に基づいて特定の関数がどのファイルに含まれているかがわかるだけでなく、JavaScriptファイルを小さく保つことができるという点で開発作業に役立ちました。また、Chromeのデバッガーからスクリプトを直接表示し、どのファイルを選択して、デバッグする必要のある関数を簡単に見つけることができるため、デバッグにも役立ちます。私が読んでいることから、ほとんどのブラウザは複数の.jsファイルを同時にダウンロードできるため、ページの読み込みが速くなるため、これも役立ちます。これにより、後で縮小することも簡単になります。
私が気付いている問題は、.jsファイルを使用すると、ビューではないため、C#コードを埋め込むことができないことです。つまり、すべてのURLにマジックストリングが必要であり(したがって、後でルートを変更する場合は、すべてのURLを手動で変更する必要があります)、C#で設定した定数を使用して、すべてを全面的に管理できるようにすることはできません(プロジェクトが非公開であることを意味する整数などの定数を変更すると、JavaScriptファイル内のすべての参照を検索して手動で変更する必要があり、バグが発生する可能性があります)。
今私が考えた1つの可能性は、JavaScriptファイルを部分的なビューに変換することです。ただし、これでも、ページのソースコードにjavascriptが散らばっているため、Webブラウザでのページのデバッグはかなり複雑になります。これにより、後でjavascriptを縮小することも困難になります。
では、JavaScriptを管理し、サイトのc#/ MVC部分と一致させ、変更が必要なときにDRYに違反する必要がないようにするために、他にどのような戦略を使用できますか?
私のサイトのWebアプリケーションの部分はまだ開発が進んでいるので、作成するJavaScriptはまだまだたくさんあります。そして、物事が手に負えなくなる前に、戦略を立てたいと思っています。
code-reuse - 再利用のためのコードの整理、保存、追跡
何ヶ月も前に、私は自分の音楽をMP3として保存し始めました。私は狂ったようにダウンロードして、それらをすべてフォルダにダンプしました。何千もの曲を集めた後、私は大きな混乱を経験しました。自由時間にすべての音楽を整理して2年が経ち、ライブラリの「D」セクションにたどり着きました。私は毎日コードを書き始めており、再利用と将来の参照のために私が行っていることの多くを保持したいと思います。私はVisualStudioをよく使用し、Eclipseを使用することもありますが、Web開発も行っています。現在、外付けドライブにフォルダがあり、Projects
そのフォルダ内に保存したいコードがあり、それぞれのIDEと、それが開発された言語で分類されています。これは現在正常に機能していますが、後で恐れています数年はナビゲートするのが難しくなるかもしれません、そして私は私の音楽ライブラリのような別の混乱を望んでいません。 簡単なナビゲーションと将来の再利用を促進しながら、コードとプログラミングプロジェクトを追跡するためのいくつかの良い方法は何ですか?
code-organization - 大きなコードを整理する
私は、コード編成のスタックオーバーフローユーザーがどのような方法を使用しているのか疑問に思いました。私は散発的な思考プロセスを持っており、その結果、私のコードは乱雑で圧倒的に見え始める可能性があります。任意のヒント ?
php - PHP 関数の編成
私は非常に基本的な php アプリを作成しており、display_user_nav()、display_user_list() など、さまざまなことを行うための関数のかなりの混乱を作成しました。これらを論理的な方法で整理する方法が必要です。本当に必要なのは ruby モジュールのようなものですが、同等の php を見つけることができませんでした。また、プログラミングの観点から、それらはクラスに属していないと感じています.1人のユーザーの情報を含む User オブジェクトが既にあり、それらを使用するたびに新しいオブジェクトを作成して保存する必要はありません。 .
私が今していること:
私ができるようにしたいこと(Rubyのようなもの):
任意の提案をいただければ幸いです。
python - PyQtプロジェクトのGUIコードを整理する方法は?
GUIコードの整理に似たものを探してい ますが、PythonとPyQt4用です。特に、構成データや一般的な状態などを処理および保存するためのヒントと例を検討しています。
編集:私は以下の下で古いバージョンに関するいくつかのヒントを見つけました:http://www.commandprompt.com/community/pyqt/
python - Djangoシステムのルールコンポーネントを最適に整理するにはどうすればよいですか?
私は、2つの主要なコンポーネントで構成されるシステムをDjangoで設計(そして最終的には作成)しています。
- ゲームマネージャー:これは本質的にデータ入力部分です。信頼できる(非公開の)ユーザーは、プレーヤーが持つ可能性のあるオプションなど、ゲームシステムに関する情報を入力します。このためのインターフェースはDjango管理コンソールのみであり、情報を保持する以外は何も「実行」しません。
- キャラクターマネージャー:これは上記のデータの利用者です。パブリックユーザーは、信頼できるユーザーが入力したオプションを利用して、上記で定義したロールプレイングシステムでキャラクターを作成します。これは、Djangoの観点からはプロジェクト内の別のアプリです。
ただし、どこに配置すればよいかわからない部分が1つあります。それは、各ゲームに関連付けられている「ルール」です。基本的に、最初のアプリに配置されるゲームごとに、そのゲームに固有の一連の前提条件、制限、およびその他のビジネスロジックがあります。(すべてのゲームに共通する同様の構造のロジックもあります。)ロジックは、ユーザーが入力するのではなく、Pythonでコーディングされます。
そのロジックは特定のキャラクターを検証するプロセスで使用されますが、特定のゲームに関連付けられており、動的にスワップアウトする必要があります。それは別のアプリですか、それともキャラクターマネージャーのフォームに関連付けられた検証である必要がありますか?それとも両方でしょうか?
これは私が(他の誰かのコードを噛むのではなく)ゼロから構築した最初のDjangoアプリであり、Pythonの哲学に慣れていないので、私はこれに耳を傾けています。
前もって感謝します。