プログラミング初心者がやってはいけないこと
プログラミング初心者がやってはいけない、注意したいことを経験者の立場から発信していきます。
コードのコピペに要注意!
コードを十分に理解せずにコピー&ペーストをしてはいけない
コードをちゃんと理解せずにコピペするのは、長期的に見るとリスクが高いんだ。
例えば、ネットで見つけたコードをそのまま使ったら、そのコードが持ってる問題点やセキュリティの穴も一緒に引き受けることになるかもしれない。
あるいは、ある関数をコピペしたけど、それが他の部分と合わなくて、結局バグの原因になったって話、よくあるよね。
表面的には早く問題を解決できたように見えるけど、実はその背後に大きな問題を抱え込んでしまうことがあるから、気をつけた方がいいよ。
エラーメッセージは重要な指摘である!
エラーメッセージを読まずに無視をしてはいけない
エラーメッセージを確認もせずにバグを発見しようとするのは、地図を見ずに知らない場所に行くようなもの。
例えば、ある日プログラムが「変数が定義されていない」と怒ってきたとする。
エラーメッセージは英文で表示されるのが一般的。
この英文が読めないという安直な理由でスルーするのは時間を浪費する温床にもなるよ。
だから指摘されたことについては素直に耳を傾けて英文の意味がわからなければgoogle翻訳やDeepLなど翻訳ツールを活用しよう!
バージョン管理は必須ツール!
バージョン管理システムを使用せずに開発をしてはいけない
バージョン管理システムを使わないで開発するのは、命綱なしで山を登るようなものだよ。
例えば、君が大きなプロジェクトに取り組んでいて、新しい機能を追加した後に何かがうまくいかなくなったとしよう。
バージョン管理がなければ、どこで間違えたのか、どうやって元に戻せるのかが分からなくなる。
しかし、バージョン管理を使えば、問題が起きた時に問題が無かった状態のソースコードに戻せるんだ。
それだけじゃなく、チームで作業する時にも、みんながどんな変更を加えたかを簡単に追跡できるから、協力しやすくなる。
だから、バージョン管理は開発の安全ネットみたいなもので、使わない手はないね。
プロジェクトがバージョン管理システムを利用してなければぜひプロジェクトマネージャーに提案してみよう!
コードのテストを怠らないで!
コードのテストをおろそかにしてはいけない
コードのテストが網羅できていないのは試験勉強でテスト範囲を勉強せずに試験に臨むようなものだよ。
例えば、新しい機能をアプリに追加した後、それが完璧に動くと思っていたら、実際にはユーザーが特定の操作をするとアプリがクラッシュした。
テストが漏れなく実施できていれば、リリース前にこのような問題を発見し、修正するできる。
でも、それを怠ってしまうと、ユーザーの手に渡った後で問題が発覚し、信頼性や評価に大きなダメージを与えてしまう。
テストは時間がかかる作業だけど、結局のところ、その時間をかけたことによって、より安定した製品を提供できるんだ。
だから、これらのプロセスをおろそかにしちゃダメなんだよ。
積極的にコメントを書こう!
ソースコードにコメントを書こう
コードにコメントを書くのは、レシピに材料や手順を書くのと同じで、とっても大切。
例えば、ある複雑なアルゴリズムを実装したとしよう。
その時点ではあなた自身に理解できるけど、数ヶ月後にそのコードを見返した時、
または他の人がそのコードを初めて見た時に、どう動いているのかさっぱり分からなくなるかもしれない。
でも、その処理をする理由や、変数が何を意味しているのかを説明するコメントがあれば、理解するのがずっと簡単になる。
コメントは、コードを読む人がすぐに「ああ、なるほど」と理解できるようにするための手がかりなんだ。
だから、自分だけじゃなく、将来の自分や他の人のために、コードにはしっかりとコメントを書くべきなんだよ。
変数や関数に意味のない名前をつけてはいけない!
変数や関数に意味のない名前をつけてはいけない
変数や関数に意味の無い名前をつけるのは、本にタイトルをつけずに図書館に置くようなもの。
例えば、関数名を「doThing」や変数名を「data1」にしたとして、数週間後や他の人がそのコードを見た時に、これが何をするものなのかさっぱり分からなくなる。
特に「x」とか「temp」みたいな名前だと、その変数が何を表しているのか、またはその関数がどんな処理を行うのかを理解するのが難しくなる。
もし関数がユーザーの入力を検証するなら、「validateUserInput」と名付ける方が、その機能が直感的に理解できるよ。
コードは書く時間より読む時間の方が長いから、自分や他人が将来そのコードを読む時のことを考えて、意味のある名前をつけるべきだよね。
1つの関数に多くの機能を詰め込んでしまってはいけない!
1つの関数に多くの機能を詰め込んでしまってはいけない
1つの関数に多くの機能を詰め込むのは、スーツケースに荷物を整理せずに詰め込むようなもので、何がどこにあるのかわからなくなってくる。
例えば、「ユーザー登録」をする関数が、入力検証、データベースへの保存、確認メールの送信の3つを全てやってしまうとしよう。
最初は便利かもしれないけど、後で確認メールの内容を変更したい時や、データベースの処理だけをテストしたい時に、その巨大な関数を扱うのは大変になる。
それぞれの機能を別の小さな関数に分ければ、読みやすく、管理しやすく、テストもしやすくなるんだ。
コードを修正する必要が出てきた時も、特定の小さな部分だけを見ればいいから、バグを見つけやすく、修正も簡単になる。
だから、一つの関数に多くの機能を詰め込むのは避けるべきなんだよ。
意識しておきたい「べからず」をご紹介しました。今後のプログラミングの参考になれば幸いです。
ここまで読んで頂きありがとうございます。
では、バグのない日々を過ごせますように!
コメント