1

現在、このコードで eslint を試しているところ、エラーが発生しました (スクリーンショットを参照)。エラーを取り除くための最良の方法が何であるかはわかりません。

コードスニペット:

let pathFor = ( path, view ) => {
  if ( path.hash ) {
    view = path;
    path = view.hash.route;
    delete view.hash.route;
  }

エラーを取り除こうとします(これは機能しますが、それが最善の方法かどうかはわかりません):

let pathFor = ( pathData, viewData ) => {
  if ( pathData.hash ) {
    view = pathData;
    path = view.hash.route;
    delete view.hash.route;
  }

これは崇高なエスリンティングのスクリーンショットです

ここに画像の説明を入力

4

1 に答える 1

3

それを行う方法はたくさんあります。パラメータを変更しているため、リンターはエラーをスローしています。これは、コードを読んでいる人には難読化されているように見えたり、後で他の問題を引き起こしたりする可能性があります。プログラミングのより「機能的なスタイル」は基本的にリンターが推奨しているものであり (古い変数を変更する代わりに新しい変数を作成する)、おそらくそうです。私が過去に使用した方法は、「ハンガリーのケース」です。

let pathFor = (_path, _view) => {
  if (_path.hash) {
    view = _path;
    path = view.hash.route;
    delete view.hash.route;
  }

ただし、コードを読む人によっては、小さなアンダースコアの意味が恣意的になる可能性があります。

でも、あなたのやり方でいいと思います。フィル・カールトンが言ったように:

コンピュータ サイエンスで難しいのは、キャッシュの無効化と名前付けの 2 つだけです。

この質問は、何よりも「ベストネーミングプラクティス」の問題だと思います。もしそうなら、私はそれに多くの精神的エネルギーを浪費することはありません.

于 2015-10-10T06:55:02.357 に答える