良いコードを書くための意識改革と基礎固め

どんなコードが良いコード?

「良いプログラムコード」にはさまざまな視点があります。⁠少ない記述で高速な処理速度、しかも安定動作して、セキュリティレベルも高い⁠⁠。こんなコードはもちろん良いコードと言えるでしょう。一方で、最近のソフトウェア開発現場で求められるコードの「良さ」には別の視点があります。それは本書の序章で著者の増田亨氏が述べている、次の三つの言葉がぴったり当てはまります。

「良いコードとは、

  • 正しく動く
  • 正しく語る
  • 正しく育つ
という三つの正しさを満たすコード」

もう少しかみ砕けば、⁠正しく動くことをさまざまな視点から考慮できているコード⁠⁠プログラムの意図をわかりやすく伝えられているコード⁠⁠修正や拡張がやりやすい(育てることができる)コード⁠ということです。

大規模なソフトウェアの開発には、複数人でのプログラミングが必要になってきました。また、開発サイクルが短くなったために、何度もコードを見なおして改善し続けていかなければなりません。個人でプログラミングをしているときには意識していなかったことが、会社で、そしてチームで開発するようになると求められてきます。

さまざまな言語の良い書き方を知ろう

本書は、月刊誌「Software Design」の人気記事のなかから、より良いコーディングをするための考え方や手法、基礎技術に関連する特集記事を必要に応じて更新、再編集した書籍です。

第1章では、C、Java、C#、Ruby、JavaScriptという5つのプログラミング言語それぞれのスペシャリストに、⁠読みやすいか」⁠処理効率はいいか」⁠その言語の慣習に沿っているか」⁠セキュリティのことを意識しているか」などのポイントを解説してもらっています。

第2章はJavaにフォーカスを当てています。ユーザ数も過去の資産も多いプログラミング言語だけあって、新しい機能を知らない、もしくは使いこなせていない状況があるようです。本章では、プログラミング技法、統合開発環境、トラブルシューティングのそれぞれにおいて、Javaの便利な機能を整理しました。

第3章は正規表現の実習です。正規表現の地味なメタ文字を覚えるには実践が一番です。本章ではWeb上で正規表現を試せる「Rubular」というツールを使って、ハンズオン形式で解説します。

第4章では、ソフトウェア開発とは切り離せないインターネット接続に対する基礎を固めます。ネットワークの基礎を知り、TCP・UDP通信の流れをコードで追い、流れるパケットを目で見ながら身につけましょう。

第5章はWeb開発の分野で高いシェアを誇るPHPについてです。PHPを使ううえでのメリット・デメリットを明確にしながら、初心者がWeb開発を行えるようになるためのヒントを提供します。

そして付録には、良いコメントの書き方を収録しました。コメントには文法の制約がほとんどないので自由に書けます。どのようにコメントを書き残せば、コードを読みやすくし、作業をしやすくし、ひいては良いプログラムが作れるのかということを考えてみましょう。

仕事としてコードを書くようになると必要になってくる考え方が、各著者の経験を元に紹介されています。ある程度プログラミングができるようになったら、コードの品質や保守に意識を向けるきっかけとして本書を活用してもらえれば幸いです。