問題タブ [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.
php - PHP Web サイト アプリケーションを構成する良い方法は何ですか?
大規模なプロジェクトを行うと、コードがあちこちに行き渡っているように見えます。皆さんはどのようにコードを整理していますか?
php - さまざまな「モバイル デバイス インターフェース」と「デスクトップ インターフェース」のコードを整理する方法
Web アプリケーションを計画しています。Smarty で PHP フレームワーク Kohana を使用しています。私の Web アプリケーションには、モバイル デバイス インターフェイスもあります。これで、2 つのインターフェイスに共通のコードと個別のコードが多数存在することになります。
次のようにコードを整理するにはどうすればよいですか。
- コードの重複はありません。
- 不要なコードはロードされません。たとえば、デスクトップ UI 固有のコードを iPhone インターフェイスにロードしたり、その逆を行ったりしてはなりません。
sql-server - SQL Management Studioを使用して、ストアドプロシージャ、ビュー、関数などを整理します
Microsoft SQL ServerManagementStudioを使用してデータベースを操作しています。私はSQLサーバーの管理経験が限られている.Net開発者に過ぎず、実際のDBAからはほど遠いです。今後数日で、ストアドプロシージャの数が大幅に増加します。また、より多くのビューと関数が作成されます。
この要素をフォルダに整理する方法はありますか?同じフォルダに数十のSPを配置したくありません。維持するのは苦痛になります。
もちろん、命名規則を使用すると役立つことはわかっていますが、他にできることはありますか?
ありがとう。
java - 公開インターフェースを独自のパッケージに入れてもOK
パブリック インターフェイスを独自のパッケージに入れてもよろしいでしょうか (私の組織のみ)。
例えば
これは良いことなのか悪いことなのか、デメリットはありますか?
c - これらすべての関数のような #defines を C のどこに配置すればよいでしょうか?
私は組み込みシステムで作業しており、大量のハードウェア インターフェイス#define
マクロを使用しています。これらすべてを別のファイルに入れたい (OOP ネスのため) が、そのための最善の方法がわかりません#include
。それらをすべて .c ファイルに入れてから、それを含めますか? これらを .h ファイルに入れるのはばかげているようです。
javascript - 大規模で複雑な Web アプリケーションをどのように編成しますか (基本的な例を参照)。
物事を面白く保ち、私の最後の未解決の質問を締めくくるために、適切なアーキテクチャを使用して適切に整理された方法で以下の機能を実装するソリューションは、かなりの恩恵を受けます. 完全なコードは jsfiddle にあります。質問があればお気軽にどうぞ :)
クライアント側で非常にリッチな複雑な Web アプリケーションを通常どのように編成しますか。大規模なアプリでうまく管理されていない場合に陥りやすい混乱の種類を示すために、不自然な例を作成しました。この例を自由に変更/拡張してください - http://jsfiddle.net/NHyLC/1/
この例は、基本的に SO のコメント投稿の一部を反映しており、次の規則に従います。
- 複数のスペースが 1 つに切り捨てられた後、最低 15 文字が必要です。
Add Comment
をクリックしても、複数のスペースを削除した後のサイズが 15 未満の場合は、ポップアップにエラーが表示されます。- 残りの文字数を示し、色分けして要約します。グレーは小さなコメント、茶色は中程度のコメント、オレンジは大きなコメント、赤はコメントのオーバーフローを示します。
- コメントは 15 秒ごとに 1 つしか送信できません。コメントの送信が早すぎる場合は、適切なエラー メッセージを含むポップアップを表示します。
この例で気付いたいくつかの問題。
- これは、ウィジェットまたは何らかのパッケージ機能であることが理想的です。
- 15 秒ごとのコメントや最小 15 文字のコメントなどは、各ウィジェット内に埋め込まれているのではなく、一部のアプリケーション全体のポリシーに属しています。
- ハードコードされた値が多すぎます。
- コード編成なし。モデル、ビュー、コントローラーはすべてバンドルされています。MVC がリッチ クライアント側の Web アプリケーションを編成するための唯一のアプローチというわけではありませんが、この例にはありません。
これをどうやって掃除するつもりですか?途中で少し MVC/MVP を適用しますか?
関連する関数の一部を次に示しますが、jsfiddle でコード全体を見た方がより理にかなっています。
編集1:
@matpol ラッパー オブジェクトとプラグインの提案をありがとう。これは、既存の混乱を大幅に改善するものです。ただし、プラグインは独立したものではなく、前述のとおり、より大規模で複雑なアプリケーションの一部になります。クライアント/サーバー側のアプリケーション全体のポリシーは、コメントの最小/最大長、ユーザーがコメントできる頻度などを決定します。プラグインには、この情報をパラメーターとして供給することができます。
また、リッチ クライアント側アプリケーションの場合、データを html 表現から分離する必要があります。これは、アプリケーションがデータを認識し、物事をローカルに保存し、サーバー上で定期的に更新できるため、多くのサーバー ラウンドトリップを節約できるためです。 、またはアプリケーション自体内の興味深いイベント (ウィンドウが閉じられたときなど) が発生したとき。これが、プラグインのアプローチがあまり好きではない理由です。パッケージ化された表現を提供する場合と同じように機能しますが、それでもDOMを中心にしているため、アプリケーションにそのようなプラグインが20個ある場合、これは決してばかげた数ではありません.
version-control - スクリプトをバージョン管理下に維持するには、いくつのリポジトリを使用する必要がありますか?
私は主に自分のために小さなプログラムをコーディングしていますが、最近、チームの仲間のためにコーディングを始めています。そのために、Mercurialリポジトリを使用して、コードを何らかのバージョン管理(具体的には、WindowsのTortoise-Hg)で維持するようになりました。私は多くの小さなスクリプトを持っており、それぞれが独自のディレクトリにあり、すべて1つのリポジトリにあります。ただし、 JoelのHgチュートリアルを読んでいるときに、大きなスクリプトの1つにディレクトリのクローンを作成して「安定した」バージョンを作成しようとしましたが、ディレクトリ自体がリポジトリではなかったため、作成できませんでした。
したがって、クローンを適切に使用するには、スクリプト/ディレクトリごとにリポジトリを作成する必要があると思います(間違っている場合は修正してください)。しかし..それは「良いアイデア」なのか、それとも将来のメンテナンスの悪夢が起こるのを待っているのでしょうか。
簡潔に言えば、すべての(無関係な)スクリプトを1つのリポジトリに保持するのですか、それともそれぞれにリポジトリを作成する必要がありますか?またはいくつかの未知の3番目のオプション?
asp.net-mvc - ASP.NET MVC 運用アプリの推奨されるソリューション構造はありますか
一般に、ASP.NET サイトの App_Code ディレクトリにコード (BaseClasses または DataAccess コード) を保持するのは好きではありません。私は通常、これを MySite.BusinessLogic および MySite.DataAccess DLL にそれぞれ引き出します。
ASP.NET MVC についても同じことを行うべきか疑問に思っています。
ソリューションを次のように整理したほうがよいでしょうか。
- MySite.Common - DLL - (.NET システム DLL 上に構築された基本機能)
- MySite.DAL - DLL - (DataAccessLayer & DBML ファイル)
- MySite.Models - DLL - (リポジトリ クラスなどの MVC モデル)
- MySite.Controllers - DLL (モデルを使用する MVC コントローラー)
- MySite - ASP.NET MVC サイト。
それとも、何か不足していますか...おそらく、いくつかの素晴らしいものを失うでしょう(ビューの追加、コントローラーに移動、追加されたコンテキストメニュー項目)
matlab - MATLAB クラスを編成する最良の方法は?
MATLAB には、クラスを編成する 2 つの方法があります。
@-ディレクトリ:
単一ファイル:
最初のスタイルは新しいclassdef
構文の前に存在していましたが、より構造化された方法のようです。2 番目のスタイル (単一のファイル内のすべて) は新しいものです。
どの方法を使用しますか。また、その理由は何ですか?
project-management - コードの編成、セグメント化されたファイルの論理レイアウト
私はプログラミングについて十分に知っていたので、約 10 年間トラブルに巻き込まれました。私は正式な教育を受けていませんが、さまざまな言語でこのテーマに関する本をたくさん読んできました。私が現在主に取り組んでいる言語は、少なくとも私が現在行っていることの規模からすれば、PHP です。
私はしばらくの間、いくつかの OOP クラスを使用してきましたが、舞台裏の原則を理解するために飛び込むことはありませんでした。私はまだ表現に関して自分が望むレベルには達していませんが、最近The OOP Thought Processという本を読んだことで、プログラミング スキルを向上させたいと思うようになりました。
新しいコンセプトからのモチベーションで、私は新しいプロジェクトを開始しました。ユーザー認証、ユーザー プロファイル、データベース インターフェース、およびほとんどのプロジェクトで定期的に使用するその他のものを処理する再利用可能なクラスをいくつかコーディングしました。
私の典型的な文字化けしたスパゲッティボウルのコードの混乱を幾分整理されたファイルに分割したので、ファイルが必要なときにすべて含まれていることを確認すること、スクリプトをクラスに論理的に分割する方法について、いくつかの問題を抱えていました。そして、各クラスをどのように分割する必要があるか。
私が本当に求めているのは、コードの特定の機能や形式ではなく、単なる趣味のプロジェクトよりも大きなプロジェクトの論理的なレイアウトに焦点を当てたアドバイスまたは提案された読書です。
物事を正しく行う方法を学びたいのですが、まだいくつかの分野で学んでいますが、これは創造的で試行錯誤する以外に手がかりがありません. ほとんどのエラー。
返信ありがとうございます。この場所は素晴らしいです。