概要
プログラミングする時に綺麗で理解しやすいコードを書くと様々なメリットがあり、プログラマーであれば必ず身につけた方がいいです。
理解しやすい良いプログラミングコードを書くにはルールや技術が必要です。その技術の簡単な説明と非常に参考になる3つの本の紹介をします。
目次
理解しやすい可読性の高い良いコードを書く3つの理由
- チーム開発で他の人が見た時に理解しやすくする
- ソースコードレビューの時間を短くする
- 一人開発で見返した時わかるようにする
チーム開発で他の人が見た時に理解しやすくする
チーム開発をするときに、綺麗な良いソースコードで実装する大きなメリットの1つは、別の人が機能追加するときに理解しやすくて改修がシンプルで早くできることです。
チーム開発では自分以外の人が実装したプログラミングコードを見ます。必要であればそのプログラミングコードを改修します。その時にわかりづかった場合、コードを理解するのに時間がかかり、さらに複雑なコードになるリスクが増えます。
わかりづらいソースコードを防止するために本番環境に入れるとき誰かに見てもらうソースコードレビューをして、プログラミングコードの品質を保つことができます。
ソースコードレビューの時間を短くする
このプログラミングは今のプロジェクトに統一した書き方なのかしっかりと動くのかどうかお互いチェックします。
そのときに、理解しずらく、複雑なコードは他の人のコードレビューで修正してあげ、統一感のあるわかりやすいソースコードを保持することができます。
その時にどのようなコードにすればいいのか、どうすれば統一感が保てるのか理解しやすいコードを書く技術が必要です。
一人開発で見返した時わかるようにする
一人プロジェクトでも自分で実装したソースコードが理解できなくなる場合があります。そうなると機能追加に時間がかかるのでわかりやすく書く必要があります。
注意して書くにしてもどのようなルールで統一感を持たせばいいのか等ルールがないといずれ破綻します。正しい知識が絶対的に必要になります。
良いコードを書く技術本 リーダブルコード
良いコードを書く技術は生まれ持ったものではなく、努力によって鍛えてできる技術です。可動性が高い読みやすいソースコードを目指します。
理解しやすいコードを書くことについてリーダブルコードという最もオススメの本があります。
理解しやすいコードを書くために覚えておくポイント
コードを書くときに注意していることは大まかに以下の通りです。
理解しやすいコードの定義
- 変数名はわかりやすく・変数のスコープを縮める
- コードをネストさせすぎない
- 不要な機能は全て削除
- 同じ機能をなんども書かない
- コメントはわかりやすく
変数名はわかりやすく・変数のスコープを縮める
変数名はわかりやすい名称にすることは必須です。なぜならコメントを書かなくても何の変数名かわかるからです。あまり長すぎる変数名は問題ですが多少の長さは問題ないです。 20文字までには納めましょう。
変数のスコープを縮めるのは無意味にグローバル変数にすること変数の管理が難しく、同じ名前の変数名をつけると何がどう動くのか管理できなくなります。できるだけ変数はローカル変数を利用するようにしましょう。
コードをネストさせすぎない
If文の中にfor文さらにその中にif文を入れる等深くすると何が何だかわからないコードができてしまいます。ネストしすぎるのであれば、別の関数にするとか対応をする必要があります。
不要な機能は全て削除(YAGNI)
プログラミングをしている最中に不要なコードはできることはあります。そのコードをもったいないからと思ってコメントにして残している人もいるのですが、返って理解が困難なものになります。他の人が見たら今後使うのかどうか判断できなくなるので邪魔なコードです。すぐに削除しましょう。
同じ機能をなんども書かない(DRY)
似たコードを書くことがあります。その際は手間でも関数にまとめて繰り返し使うことをおすすめします。同じ機能を何度も書くと大規模なコードであればあるほど複雑化します。
コメントはわかりやすく
ブログ作成者の私もたまにやりますが、コメントの内容が不明で自分で見返してもわからないということがあります。簡潔にわかりやすくすることを心がけましょう。
リーダブルコードはさらに詳しく載っていますので読んでみるのもいいかもしれないです。
わかりやすいコードを書く技術のおすすめ本
本の紹介をにしています。これらも上記のリーダブルコードと同様、良書になります。参考までにレビューしてます。
レビュー1
レビュー2
システム開発外注先とコミュニケーションをとるときに大切なこと、プロジェクト管理に役立つ考え方や、プログラミングを人に教える、使いこなしてもらう際のヒントが目白押しに感じました。
また、独学でプログラミングを覚えた、現場実践でのルールが教われない、教えてもらえないという方は、参考して良いと思います。
徹底的に可読性、保守性の高いプログラミングを体系的取り組みことができます。厳しいコードレビュー環境に置きたい人はこの本を読んでコードを研究してください。
プリンシプル オブ プログラミングはどのようにプログラミングを書くかよりも、いかに周りとコミュケーションをとるためにどのような思想で書くかということが書かれています。
システム開発外注先とコミュニケーションをとるときに大切なことプロジェクト管理に役立つ考え方やプログラミングを人に教えるためのことが1冊でまとめられています。
また、独学でプログラミングを覚えた、現場実践でのルールが教われない教えてもらえないという方は、参考して良いと思います。
コードコンプリートはコーディングに入る前の準備から、心構え、周囲の人との調整まで幅広い観点で書かれています。プログラミングだけでなく、設計とコーディングを兼務するSEにはかなり重要な本となるでしょう。
まとめ
上記理解しやすいコードの定義を気をつけて実践していくと良いコードになり可読性が高くなり、君のコード読みやすいねと言われることが出てきます。
良いコードを書くように日々努力を続けてください。
-
プログラマーの現状と今後の傾向
プログラマーが今どのように仕事をしているのかということと今後のプログラミングはどのような傾向があるのかわかりやすく紹介していきます。
続きを見る