事の発端:
久しぶりにJavaScript(Kintone) の開発(ルネサスやったりWPFやったり浅く広くしすぎじゃね?給料上げてくれよ)をやり始めたのですが、初のVSCode で環境構築を実施!
(Kintone のサイトに環境構築手順がほぼ乗ってるから親切で楽だわー)
で行った所、ESLint の「ES2017」コードチェックをするように対応してみた。
その際、下記コードの「let pLeft = dataPanelWidth - rightPanelWidth;」でエラーが発生!
問題のコード:
原因と修正:
ESLint は優秀で、エラー原因と修正方法のURLを示してくれる。
https://eslint.org/docs/rules/no-case-declarations
内容を読む限り、「switch~case 内に「let/const/function/class」を利用する時は、中かっこを追加せよ」って事らしい。
**************事の発端終わり**************
って事で今まで別言語でも、case 内で tmp 変数が何度も使えずに悲しんだ事はあった。
switch 文の前に変数宣言をまとめて記載して…ってことが何とかあります。
(変数使うならメソッド化しろよ。というのが本音だが、ちょっとしたのだと面倒だよね…)
で、上記の話に戻る。
case後を中かっこでくくる事で、上記の問題は解決する。
そうすると、エラーや変数宣言と処理が離れる問題も解決する。
あれ?今までなんで中かっこ無かったんだろうか…?と思うようになってきた。
対応できる全言語でこうして欲しい気もするが…ん~どうなんだろう
ただ、今までやってこなかったので追加するのは面倒だ…
フォーマッタでcase処理を中かっこでくくる対応は無い物か…
問題点:
case をインデントして居なかった人はインデントが1つ増える事になる。
僕はcaseをインデントしているので何も違和感は無かった…
(フォーマッタが対応してくれれば1個だけじゃね)
少数派だろうけど、今後こっちが主流にならないかなぁ…
久しぶりにJavaScript(Kintone) の開発(ルネサスやったりWPFやったり浅く広くしすぎじゃね?給料上げてくれよ)をやり始めたのですが、初のVSCode で環境構築を実施!
(Kintone のサイトに環境構築手順がほぼ乗ってるから親切で楽だわー)
で行った所、ESLint の「ES2017」コードチェックをするように対応してみた。
その際、下記コードの「let pLeft = dataPanelWidth - rightPanelWidth;」でエラーが発生!
問題のコード:
switch (argVal) { case 'end': let pLeft = dataPanelWidth - rightPanelWidth; element.scrollNavigation.panelMargin = pLeft * -1; $dataPanel.animate({'left': '-' + pLeft}, 'fast', shift); break; }
原因と修正:
ESLint は優秀で、エラー原因と修正方法のURLを示してくれる。
https://eslint.org/docs/rules/no-case-declarations
内容を読む限り、「switch~case 内に「let/const/function/class」を利用する時は、中かっこを追加せよ」って事らしい。
**************事の発端終わり**************
って事で今まで別言語でも、case 内で tmp 変数が何度も使えずに悲しんだ事はあった。
switch 文の前に変数宣言をまとめて記載して…ってことが何とかあります。
(変数使うならメソッド化しろよ。というのが本音だが、ちょっとしたのだと面倒だよね…)
で、上記の話に戻る。
case後を中かっこでくくる事で、上記の問題は解決する。
そうすると、エラーや変数宣言と処理が離れる問題も解決する。
あれ?今までなんで中かっこ無かったんだろうか…?と思うようになってきた。
対応できる全言語でこうして欲しい気もするが…ん~どうなんだろう
ただ、今までやってこなかったので追加するのは面倒だ…
フォーマッタでcase処理を中かっこでくくる対応は無い物か…
問題点:
case をインデントして居なかった人はインデントが1つ増える事になる。
僕はcaseをインデントしているので何も違和感は無かった…
(フォーマッタが対応してくれれば1個だけじゃね)
少数派だろうけど、今後こっちが主流にならないかなぁ…