2016-10-08 6 views
0

私はマングーススキーマのためにこのコードを書いている:Sonarqube(匿名関数VSという名前の関数)

localeTypesSchema.statics.findAndModify = 
    function findAndModify(query, sort, update, options, callback) { 
     const promised = q.nbind(this.collection.findAndModify, this.collection); 
     return promised(query || {}, sort || [], update || {}, options, callback); 
    }; 

SonarQubeはMake this function anonymous by removing its name (cross-browser, user-experience)について(メジャー、コードのにおい)が不平を言っています。

名前を削除した場合、を延長するとairbnbは約[eslint] Missing function expression name. (func-names)となります(警告)。

thisを使用しているため、矢印関数に変換できません。thisは、関数呼び出し元にバインドされ、矢印関数の範囲にはバインドされません。

コードを書くにはどうすればよいですか?

答えて

1

どちらの選択も有効です。SonarQube ruleeslint ruleの説明を読んでください。実際、eslintルールは、1つの選択肢またはその反対のものを実行するように構成できます。 1つのルールを適用する場合は、ツールが役立ちます。

+0

「airbnb」eslint拡張ですべてのルールを使用できる方法はありますか? – David

+0

関数式の名前を付ける場合は、SonarQubeルールを無効にする必要があります。 –

+0

無効にする必要があるSonarQubeの役割が見つかりません。手伝ってくれませんか? –