問題タブ [modularization]
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 複数定義/ここで最初に定義されたエラー
書店プログラムを作成しようとしていますが、関数の実装でソース コード ファイルに「複数定義」というエラーが表示されます。
ここに私の Book.c ファイルがあります:
ここに私の Book.h ファイルがあります:
そして、これが私のmain.cファイルです:
Book.c の scanBook 関数でエラーが発生しますが、ヘッダー ファイルと #pragma once をインクルードし、ヘッダー ファイルで関数を宣言したため、原因がわかりません。'scanBook' と obj\Debug\Book.o の複数の定義を言います .... ここで最初に定義します。
ヘルプや説明をいただければ幸いです。
javascript - Modular JavaScript - CommonJS と AMD 以外に考慮すべきアプローチはありますか?
私は現在、評価用のJavaScriptモジュール化アプローチを私の会社で準備しています。プロジェクトの「JavaScript ベスト プラクティス」を定義している最中です。モジュール化は中心的な問題の 1 つです。
これまでの私の調査から、2 つの主要なアプローチが明らかになりました。
それらの周りには膨大な数のローダー、プラグイン、ライブラリなどがあります。
それとは別にgoog.provide
/ goog.require
from the Google Closure Libraryもあります。
検討すべきさらなるアプローチはありますか?私が見逃した重要な/関連する仕様はありますか?
簡単に言えば、私たちの要件は次のとおりです。
- JavaScript コードを個別のファイルに構造化します。
- 関連するモジュールをランタイムにロードします。
- ...すべてのファイルをスクリプト タグとして含める必要はありません。
- JavaScript ファイルのインデックスを維持するために必要であってはなりません。
- 集約と縮小のサポート - 縮小/最適化された単一の JavaScript ファイルを構築して使用する機能。
- モジュールをさまざまな組み合わせで使用できるようにする - モジュールのさまざまなサブセットを必要とするさまざまな Web ページ/クライアントが存在することがよくあります。
- サポート ドキュメント (JSDoc 付き?)。
- テストに適しています。
- Web、クロスブラウザーに適しています。
- 妥当な IDE サポート。
可能性:
- ES6 モジュールに合わせます。
- Node.js およびモバイル プラットフォーム (PhoneGap/Cordova など) に適しています。
回答からの新しい提案:
- ecmascript-harmonyと追加のコンパイラ。
- angularjs (以下の注を参照)。
- extjs (以下の注を参照)。
補足:
- 問題は、どちらのアプローチが優れているかということではありません。
- 特定のライブラリやツールを求めているのではなく、アプローチや仕様を求めています。
- 特にオフサイトのリソースを求めているわけではありません。(これに SO タグがない場合、それを考慮するのはおそらく合理的ではありません。)
- angualjsやextjsなどのフレームワークに関するメモ。これは、この質問の枠組みにはあまり適していません。プロジェクトにフレームワーク (AngularJS であれ ExtJS であれ) が必要な場合、フレームワークはモジュール化 OOTB を提供する必要があるため、モジュール化の問題はほとんどありません。プロジェクトがフレームワークを必要としない場合、モジュール化のためにフレームワークを持ち込むのはやり過ぎです。これが、ライブラリ/ツールについて具体的に尋ねない理由の 1 つです。
java - 別のクラスからプライベート フィールドを出力する
私は2つのクラスを一緒にリンクする任務を負っています。最初のクラスは、人がチケットを購入し、それを (System.out.println を介して) 印刷できるチケット マシンです。2 番目のクラスは、時刻を表示する時計表示です。
私の仕事は、現在時計表示クラスに表示されている時間をチケットクラスに出力させることです。NumberDisplay クラスも ClockDisplay クラスも編集する必要はないと言われました。
最初に考えたのは、ticketmachine クラス内に新しい ClockDisplay フィールドを作成し、それを使用することでした。
displayString は、clockdisplay クラス内で値を見つけるために使用するものです。ただし、フィールドはプライベートであり、clockdisplay クラスを編集できないため、これを行うことはできません。何かご意見は?
ありがとうございました。これまでのコードは、TicketMachine クラスの前述のコード部分です。
数値表示
時計表示
}
券売機
}
python - 一般的なお気に入りのバンド パイソン
こんにちは、リストのリストを取得し、それらのリスト内で個々のバンドを見つけて、それらすべてに共通のお気に入りのバンドがあるかどうかを確認する必要があるという問題が発生しました。もしそうなら、私はtrueを出力することになっています。コードをモジュール化するこのプログラミング方法に従う必要がありますが、それを取得できないようです。これまでの私のコードは次のとおりです。あなたが与えることができるすべての助けに感謝します.
javascript - モジュール化された Angular ui-router アプリへの Express 4 の追加
モジュール化された AngularJS ui-router アプリに Express 4 を追加する必要があります。以前、このチュートリアルを使用して Angular アプリをモジュール化しました。現在、AngularJS アプリのすべてのモジュールが次のsrc/app/
ようにディレクトリにあります。
今、Angular モジュールに適合するように Express 4 コードを分割する方法を考えています。これに焦点を当てたチュートリアルは本当に見つかりません。何か案は?
swift - ビューとコントローラーのパーツをモジュール化して再利用するにはどうすればよいですか?
たとえば、ナビゲーションバー、ボタン、およびそれらに関連付けられたアクションを含むビューがあります。ビューとコントローラーの一部をパッケージ化して、コードと一緒に他のビューにドラッグ アンド ドロップできるようにする方法はありますか? そしてもちろん、変更がそれを使用するすべてのページに反映される単一の場所にコードを維持します。
フレームワークとスーパークラスを作成して、プロジェクトや他のプロジェクトで共有できるようにすることで、これは可能ですか? UI ビュー コンポーネント自体のパッケージ化についても不明です。どんな経験や方向性でも大歓迎です!
c++ - 再利用性のためのコードの作成に関する C++ 割り当てのヘルプはありますか?
私はこの任務を遂行するのに苦労しました。私は理解するのに苦労しているだけで、何をすべきか完全にはわかりません。動画を調べたり見たりしましたが、適切で具体的な情報を見つけることができませんでした。たくさんの質問があるので、誰かが答えを教えてくれるだけでなく、私に説明してくれることを願っています:)。質問は次のとおりです。
1) この演習では、入力として 2 つの整数を受け入れ、どちらが大きい値を保持しているかを評価するプログラム コードが与えられています。この評価は、コード全体の複数の場所で発生します。コードを何度も複製する代わりに、プログラムがこの同じ評価を実行するために使用できる関数を作成します。まず、コード ファイルの先頭に適切な関数宣言を記述します。関数が何らかの出力を返すかどうかを決定する必要があります。
2) 宣言を記述したら、関数の定義に進みます。これには、2 つの整数のどちらが最大かを評価する適切なコードが含まれます。関数が値を返すと前に述べた場合は、ここで何を返すかを定義してください。
3) パート (1) と (2) の結果を使用して、整数比較の複数のインスタンスを、作成した関数を呼び出す呼び出しに置き換えることによって提供されるメイン関数の重複コードの量を減らします。関数には引数として 2 つの整数を渡す必要があることに注意してください。関数から何らかの値を返す場合は、それを使用する必要があります (変数に格納する、画面に出力するなど)。アドバイスとして、評価の 1 つだけを置き換えた後に関数が正しく動作することをテストします。一度にすべてを置き換えないでください (関数が最初の置換で正しく動作する場合は、他の置換でも動作するはずです)。
4) 作成した関数はパラメータの値を比較するだけで、パラメータに書き込む (つまり、格納されている値を変更する) のではないため、関数の宣言と定義で、これらのパラメータを定数のように扱うように指定する必要があります。関数に必要な変更を加え、もう一度テストして、関数がまだ機能することを確認します。変数の 1 つの値を変更する操作を関数に含めることによって、関数がパラメーターのデータを変更できないことを確認します (例: number2 += 10;)。
-- コードは次のとおりです (長文で申し訳ありません)。
}