今回は筆者の本番環境リリーズ直前に、大慌てしてしまったので、一生忘れないようにその時の状況と対策を書いていきたいと思います。エンジニアの仕事はとても楽しいですが、責任は重大です。本番環境リリースを経て、そのことを痛感しました。何だこのクソコードは!誰が書いたぁ!!と、某雄山も激怒な状況になっていました。なると、どこを直せばいいのか、すぐにはわからず、数時間後にはお客様に見せなければならない状況から、更に焦ってしまい、大変苦労しました。今後絶対に同じことにならないように、すぐ改善できそうなところから、記載していきます。この改善すべきポイントについては、名著と話題のリーダブルコードの影響を強く受けております。業界半年くらいの方が読めば、「はぇ〜。」となること請け合いなので、是非見られてください。分かりやすい変数名を使う長ーいコードになってくると特に、どの変数に、どの様な型の、どんなデータが入ってくるのか一撃で分かる変数名を書くのが非常に重要だと思いました。file_name↑を見ると、まぁfile_nameにはファイルの名前folder_nameにはファイルまでのパスfile_pathにはファイルまでのフルパスが入ってくることは分かります。そのパスが何のパスなのか、分かりません。ファイルを生成して、サーバーに保存するためのパスなのか、ユーザーにダウンロードしてもらうためのパスなのか・・・しかも、同じ変数名で・・・これが長ーいコードを読み解いていくときに、この様なことをしていると、過去の自分をぶん殴りたくなります。(あくまで例ですが)なので、もっと分かりやすくできます。file_nameと、しておけば、最終的にこの値がどの様に利用されるか想像ができる様になります。多少、文字数が多くても(長すぎはダメだけど)、一瞬でどんなデータが入っているか想像できる変数名を使う様にします。(決意)javascriptのfor分で利用する、変数なんかも気をつけた方が良さそうです。//処理}//の方がまだ意味がわかる。会社にコーディング規約がなければ、優れた企業の規約をパクる私が現在携わっているプロジェクトでは、これ!といったコーディング規約が残念ながらありません。Githubを見渡せば、様々な優れた企業がコーディング規約を公開してくれています。クックパッド様のコーディング規約これらを参考に、統一性のあるコードを書いておくと、非常に保守性が上がりそうです。(自分だけでもしておけば、少なくとも過去の自分に切れることは少なくなります)単純なのもですが、配列に値を代入する際には、必ず改行して、インデントを合わせる。やっておいた方が良さそうです。あと、変数名やfunction名にも統一性を持たせる様にします。$('#id_fuga')//スネークケース。htmlのidはキャメルケースの方が良いと思う。deleteElement(){}とりあえず、今日からでもすぐに改善できそうな点です。まとめ仕様は必ず変わる。Gold等保有しています。数ヶ月後の自分は赤の他人やで。imanau11©︎imanau-2019。