タグ付けされた質問 「hooks」

9
バージョン管理フックで単体テストを実行するのは良い習慣ですか?
技術的な観点から、特定のコミットをリモートのデフォルトブランチにマージする前に、ユニットテストを実行する事前/事後プッシュフックを追加することができます。 私の質問は-ビルドパイプラインでユニットテストを保持する(つまり、破損したコミットをレポに導入する)方が良いのか、それとも「悪い」コミットが発生しないようにする方が良いのかです。 私は、この2つのオプションに制限されていないことを理解しています。たとえば、マージコミットをレポジトリにプッシュする前に、すべてのコミットの分岐とテストを許可できます。しかし、この2つのソリューションを正確に選択する必要がある場合、どちらを選択しますか。

4
プラグインは何を使用すべきですか:フック、イベント、または何か?
プラグインがプログラムフローに反応できるようにするアプリを検討してください。 これを達成する2つの方法を知っています:フックとイベント 1.フック メインプログラムフロー内の空の関数の呼び出しを使用します。これらの機能はプラグインによってオーバーライドできます。 たとえば、Drupal CMSはモジュールとテーマで利用可能なフックを実装しています。file_copy関数でフックを実装する方法の例を次に示します。 function file_copy(stdClass $source, $destination = NULL, $replace = FILE_EXISTS_RENAME) { // ... [File copying routine] // Inform modules that the file has been copied. module_invoke_all('file_copy', $file, $source); return $file; // ... } モジュールはmodulename_file_copy($file, $source)、module_invoke_allin によって呼び出される関数を実装できますfile_copy。この関数が終了すると、file_copy実行が再開されます。 2.イベント プラグインがリッスンできるイベントをアプリにディスパッチさせます。サブスクライブされているイベントを受信した後、プラグインはプログラムフローをインターセプトし、必要な操作を実行します。 たとえば、jQueryギャラリープラグインFotorama はいくつかのイベントを実装します。例として、イベントshowを発生させるメソッドの一部を次に示しfotorama:showます。 that.show = function (options) { …

3
フックが適切なデザインの選択になるのはいつですか?
私はActiveRecordコールバックの使用が横行し、悲惨な大規模なRailsアプリに取り組んできました。多くの場合、レコードを保存すると予期しない副作用が発生し、システムについて推論することが困難でした。 同時に、継承の一部として有効に使用されるフック(たとえば、サブクラスが親の内部について知る必要なく特別な動作を追加できるようにするテンプレートメソッドを使用する親クラス)とプラグインを使用するフックを見てきました(例えば、emacsモードがアクティブになるとフックを実行し、ユーザーがそのモードの周りにカスタム動作を追加できるようにします)。 RailsアプリとLispインタープリターは非常に異なるシステムであることは理解していますが、直面している問題に対してフックが適切な設計の選択肢であるかどうかを決定するときに、よく知られている基準があるかどうか知りたいです。 私に飛びつくテーマは予測可能性です。フックの誤用は、遠くで不気味な行動や意外な振る舞いにつながるようですが、適切に使用すると、緊密な結合がなくても予測可能なフレームワークにつながる可能性があります。 私はまだプログラミングのキャリアを始めて数年しか経っていないので、私は多くの点で自分自身を初心者だと考えており、人々はこのトピックにかなりの量の考えを入れていると思われます。この決定を導くことができるいくつかのガイドラインは何ですか?
10 hooks 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.