2009-10-07 13 views
5

"タスクの優先度を確認する"や "引数の優先度を変更する"や "アクションの遅延を増やす"のようなサクソンのジェネリックを含む名前の場合は、どのような関数を呼び出しますか?命名規則におけるサクソン・ジェネリック?

アポストロフィを削除しますか? verifyTasksPriority(), changeArgumentsPriority(), increaseActionsDelay()

アポストロフィと「s」の両方をドロップしますか? verifyTaskPriority(), changeArgumentPriority(), increaseActionDelay()

saxon genitiveを "of"に置き換えますか? verifyPriorityOfTask(), changePriorityOfArgument(), increaseDelayOfAction()

私は最初のオプションが好きではありません。なぜなら、関数は単なるものではなく複数のものに作用するように思えるからです。 2番目のオプションが自然ではないので、私は好きではありません。関数名にというという単語が正しく表示されないため、3番目のオプションが嫌いです。

どのようなオプションを使用しますか?

+0

したがって、オプション2です。ありがとうございました! –

答えて

9

私は秒を使用します。それは私にはいいように聞こえる。 「タスク優先度」を「掃除機」のような複合語と考えてください。

+2

これはまさに私の見解です。複合名詞は通常、関数の名前を付ける最も簡潔な方法です。 – Noldorin

2

数字2と3はわかりやすく、説明的です。私は2番目のオプションを使用します。最初のオプションは、単一のアイテムではなくコレクションで動作することを示すように思われるので混乱する可能性があります(たとえば、TaskではなくTasks)。

しかし、私はサクソンのジェネリックプログラミングを行っていることに気づいていませんでした。私はすぐに履歴書に追加します。

1

私は今までにそれらのいずれかを使用する必要性を感じていません。

主にOO言語でOOコードを書いていますので、task.verifyPriority()のタスクの優先度を確認するには、通常は公開方法としてtask.verify()が必要です。

優先順位の確認には他のロジックが含まれる可能性があります。タスクの所有者がBobの場合、プライオリティは7にしかなりません。 Bobの優先度7のタスクの1つをAnnaに設定すると、矛盾しますが、所有者を変更したときにverifyOwner()が呼び出され、同じロジックを持っていても優先度を変更するとverifyPriority()になりますか?

私は、実装の詳細にあまり依存しないAPIを作成すると、より柔軟なコードにつながることを発見しました。

私は通常、<library>_<Noun>_<Verb>だからtman_task_verify (task_t* self)を使用して、自分自身を確認するためにタスクマネージャーライブラリのタスクオブジェクトを確認します。

+0

一般的なOOパターンとしてobject.methodを指摘するための+1。 – codingoutloud