どうもこんにちは!
サバ缶(@tech_begin)です。
これからプログラミングを学習するぞ〜!
…と意気込んでいるかもしれません。
しかし一歩踏みとどまりましょう!
プログラミングを学ぶ上で大切なことが3つあります。
私が考える注意点を3つ、ご紹介していきたいと思います。
対象者
- これからプログラミングを学ぼうと意気込む人
- ある程度プログラミングができるようになってきた人
- バリバリベテランエンジニアの方(ご指摘お願い致します)
はい、全ての方が対象です。ぜひご覧ください。
プログラミングにおける注意点3つとは?
- 誤字脱字をしないようにする
- 文章のようで文章じゃない
- 読みやすいコードを意識する
以下で詳しく見ていきましょう。
誤字脱字をしないようにする
…え?
そんなの当たり前じゃないの?
そう、そんな当たり前のことがとても重要なんです!
その1文字がエラーを招く。プロの現場でもよくあることです。
単純なスペル間違いによって、他の人が修正をする際に大変なことが起きます
実際の現場で起きかねない例
あなたはとあるシステム会社で仕事をしています。
以下のような誤りをして実装していたとしましょう。
- 正しい:user_id(ユーザID)
- 誤り :uder_id
「s」を「d」と打ち間違えていますね。そして、別の人が改修をする際に
- 既存のシステムで使用している変数は「uder_id」です
- 改修で別の人が担当した時「user_id」と思い込んでいます。
もし仮に「user_id」で実装した時、エラーが起きてしまいます。
なぜなら「uder_id」が変数として正しいからです。
このように、システムのバグを生むだけでなく、自分以外の他人にも影響を及ぼしかねません。
ひとりでプログラミング学習しているのであれば問題ないですが、実務ではチームプレーが重要です。
今の段階から他人を思いやる気持ちで、誤字脱字に気をつけましょう!
文章のようで文章じゃない
上から下ではなく、外から内側へ。を意識する
{} がキーワードになります。
{} で囲まれた範囲を「ブロック」などと呼ばれるのですが、これらのブロックの関係性を意識していきましょう。
意識することで、学習教材などにあるコードをパッと見たときに理解しやすくなります。
if文やswitch文などの基本構文だけでなく、クラスなどを使用する際に特に役立ちします。
以下、例のコードです。
public class Human { // 外側のブロック
private String name;
public String getName() { // 内側のブロック
String str = "私の名前は";
return str + name;
} // 内側のブロック(終わり)
public void setName(String name) { // 内側のブロック
this.name = name;
} // 内側のブロック(終わり)
} // 外側のブロック(終わり)
読みやすいコードを意識する
1つ目の「誤字脱字をしないようにする」ということにも繋がることです。
スペルミスがなく、書き方(文法)に問題がなくても「複雑で読みにくいコード」は今後の修正が難しくなります。
これからプログラミングを学んでいく方は、以下の2点を心がけておきましょう。
意外と見落としがちなものなので要注意です。
- インデント
- コメント
インデント
言語によって異なりますが、Javaでは好きなところに空白や改行を入れることが自由になっています。
一部例外もありますが、「単語で空白や改行を入れなければ」基本的に自由です。
この改行や空白を利用して見やすいコードにしましょう。
極端なものから、段階を踏んでみていきましょうか。
public class Human { private String name; public String getName() {String str = "私の名前は"; return str + name;}public void setName(String name) { this.name = name;}}
もう話になりません😭
書く時も読む時も大変😭
誰も幸せになりません😭
public class Human {
private String name;
public String getName() {
String str = "私の名前は";
return str + name;
}
public void setName(String name) {
this.name = name;
}
}
かろうじて改行でブロックは見えますが、とても読みにくいですね。
public class Human {
private String name;
public String getName() {
String str = "私の名前は";
return str + name;
}
public void setName(String name) {
this.name = name;
}
}
2つ目の「文章のようで文章じゃない」を思い出してください。
ブロックで見るということは、インデントと改行が不可欠なんです!
人によって改行を入れるポイントも変わるので、あなたなりの見やすいコードを目指して見てくださいね。
コメント
言葉の通り、コード上にコメントを書くことができます。
Javaでのコメントの書き方は以下の通りです。
// 一行分のコメント
/*
複数行の
コメント
になります
*/
/**
* こういう
* 書き方の方だと
* ちょっと丁寧かも
*/
では、どういう時に役立つのでしょうか。
- 他の人と一緒に開発しているとき
- 自分が実装した意図をコード上で伝えられる
- 自分で学習している時
- 学習した内容をメモするため
2つに共通するのは、「自分のためではない」というところです。
覚えておいて欲しいのは「3日後の自分は他人」ということです。
私もよく上司から言われるのですが、未来の自分は今の自分ではありません。
3日前の夜ごはん、何を食べましたか?
意外と思い出せないんですよね。
プログラミングに慣れてくると、夜ごはんと同じくらいの感覚になってきます。忘れます。本当に。
未来の自分のために、学習中もコメントを残すようにしましょう。
まとめ
最後にもう一度復習します!
- 誤字脱字をしないようにする
- 1文字が大事故につながる
- 文章のようで文章じゃない
- 外側から内側のブロックへ構造化して読み進めていく
- 読みやすいコードを意識する
- インデントと改行、コメントを使って、未来の自分や仲間のために!
私自身も時折忘れてしまうことです。
特に「読みやすいコード」に関しては奥深く、1冊の書籍としてまとめられているほどです。
多くのエンジニアがバイブルと呼ぶ「リーダブルコード」という書籍がメジャーです。
読むたびに新たな学びがあるので、1冊持っておいて損はありません。
良いプログラミングライフを!👨💻👩💻