備忘録(デバッグ/JS)


はじめに

某エンジニア養成学校に通って一ヶ月とちょっと。
金曜ロードショーのナウシカを横目に見つつ、今後気をつけようと思うことを備忘録も兼ねて書いてみる。
アウトプットすることで理解も深まるし、自分がわかってないところも明確になるし。
基礎的なことばかりだけど。

グローバル変数を使いすぎない

優先順位:ローカル変数 > グローバル変数
よくわかってないまま、とりあえずグローバル変数として宣言してしまったけど
関数の中で閉じられるのであればローカル変数を利用する。デバッグがしんどくなるイメージ。
もちろんメリットもあるので、適宜利用箇所を見極める。
ほら怖くない、怖くないよ。

グローバル変数のデメリット
・変数の衝突が起こりやすい
・変数の値がいつ変化するか読み取りづらくなる

グローバル変数のメリット
・引数や戻り値が多くなる場合はグローバル変数を利用したほうが明らかに処理が簡潔になることもある
 //まだ実感したことないけど
出典「新訂新C言語入門シニア編」

グローバル変数、ローカル変数って何?というひとはこの辺を読むといいかも
「ローカル変数」と「グローバル変数」の違い
https://wa3.i-3-i.info/diff73hensu.html

(2019/01/05 追記)
ありがたいことにコメントを頂いたので追記。

最近の言語では引数や戻り値が多くても簡潔に処理を記述できるようになっています。
また、引数や戻り値としてグローバル変数を使うのはコードの可読性やデバッグのしやすさの観点からも、避けるべきです。

デバッグのしやすさを意識する

処理を肥大化させないに尽きると思った。
ある条件を満たさない限り、その画面に遷移しないみたいな処理を作り込んでいたけど、
デバッグがめちゃくちゃ面倒だった。毎回リロードしてやり直すみたいな。
でかい塊で作り込むとどこが正しい処理をしているかが分かりづらくなるから、なるべくコンパクトに作ればデバッグが楽になる(と思われる)。
ただ、あんまりコンパクトにしすぎても分かりづらいんだろうけど。塩梅が難しいよね。

デバッグで気をつけること

大学時代の教科書を読んでたら、書いてあったのでメモとして残しておく。
1. たくさんエラーが出ても気にすることなく、一番最初に出ているエラーに注目せよ。これを修正するだけで、全て消えることもある。
2. エラーの出ている英語は全て辞書で引くなりして、意味として理解することを心がけよ。
3. ファイルの最終行にエラーが出ている場合は、閉じ括弧の数、あるいは、コメントの閉じ方が間違っている。
4. 変数を宣言しているのに、変数が宣言されていないというエラーが出ている場合にも閉じ括弧の数、あるいは、コメントの閉じ方が間違っている。

今度読んでみよう

コレを書いてる最中に見つけた面白そうな記事。
・JavaScript初級者から中級者になろう
https://uhyohyo.net/javascript/
・ネストの深さは闇の深さ
https://qiita.com/DeployCat/items/1ec901864d4ab11c8d6f

よくわからない単語

・Ajax
・非同期処理
次回まとめてみる