こんにちは
プログラマー / マネージャーのAです。
新規の案件や開発に携わる開発者向け に書きます。
新規開発のコードレビューをする中で
強めに伝えておくべきと感じた事柄があるので共有します。
大きな差し戻りを防止する内容になります。
ベーシックなWeb開発(LAMP等)に関して、
JavaScriptでハマらないために、気を付けるべきポイントの紹介です。
出来るだけ、JavaScriptは書かない
PHPやCSSで出来ないか?と考えると良いです。
極端な言い回しに聞こえるかもですが、
なるべく、JavaScriptを書かないようにしましょう。
理由としては
1,同じような処理でも、書き方が多い
2,ほかの言語と比べて、比較的、仕様が複雑
の2点があり、
コード量が増えるリスクがサーバサイド言語に比べて高いです。
特に初心者の間は
書けば書くほど、破滅に向かっているイメージを持っています。
歴史的な背景もあり、
JavaScriptが多くの書き方に対応した分、
仕様が複雑になっている印象です。
例えば
単純なループだけでも
while, dowhile, for, forEach, for in, for of, filter, each, $.each,…
とたくさんの種類があります。ちゃんと使い分けられていますか・・?
ネットの記事を安易に受け入れない
書き方の検索が多くなってきたらもう赤信号です。
JavaScriptは、良くも悪くもとっつきやすい言語なので
色んなレベルの人が、色んなことをネットに書いています。
書き方の多さも相まって
似たような処理なのに、書いてる人によって全然コードが違うこともあり、
むやみにネットで検索しすぎると、何を信じればよいのか分からなくなります。
対策としては
「使い慣れた手持ちの書き方だけでなんとかできないか?」と
考えるとよいです。
多少コード的に冗長になったとしても、
使い慣れた、仕様を感覚的に理解している記法で書いた方が、
結果的にはメリットが大きいと感じています。
HTMLをJavaScriptに書かない
思考停止的に「HTMLはJavaScriptに書かない!」と思い込んでいいと思います。
ベーシックなWeb開発に限っての話ですが、
JavaScriptのバッドプラクティスの代表例になります。
HTML を JavaScriptで書く、
=
何らかのデータを使って動的にHTMLを作りたい
というニーズだと思いますが
それは本来、サーバサイド言語の役割です。
やむを得ずJavaScript上でHTMLを作るしかない場合…
1,AjaxでサーバサイドからHTMLを取得する
2,templateタグを利用して、HTML文字列自体は、JSに混在しないようにする
のどちらかで対応すれば、コード的には安定するかなと思います。
今回は以上となります。
少しでも開発のストレスが減らせればと思い書きました。
伝わればいいなと思います。






