Take a “new step” Achieved by Value Engineering tech.sprasia.co.jp

良いコードを書くための”習慣”

本記事のテーマに入る前に、軽く自己紹介をします。
スプラシアの赤木です。
主にバックエンドエンジニアとして、開発に携わっています!
苦手な食べ物は生のトマトです!よろしくお願いします。

[増補改訂]良いコードを書く技術 ── 読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus)

「良いコードを書く技術」という書籍を、仕事や休日の合間にちまちま読みました。
その中でも「良いコードを書くための”習慣”」に焦点を当てて、自分なりの感想と情報をまとめてみました。

 

目次

そもそも"良いコード"とは?

その1「保守性が高い」

数日経った自分の記憶力は他人と思った方がいいです。
自分がプロジェクト内唯一のプログラマーだとしても、読みやすく保守性の高いコードを意識しましょう。
保守性が高いと、追加要員の導入がしやすく、次なる改修・機能追加の生産性が上がります。

 

その2「素早く効率的に動作する」

エンドユーザーの快適さ(外部品質)を損なってしまうの良いコードとはいえません。
誰もがエンジニアが利用しているようなスペックの良いPCを使っているとも限りません!
似たような実装方針が複数ある場合は、パフォーマンス・速度を重視しましょう。

 

その3「正確に動作する」

こちらは当たり前の認識だと思うので詳細は省きます。
防御的プログラミングを意識すると良いでしょう。

「防御的プログラミング」とは、問題発生を事前に防ごうというコーディングスタイル。
悪いコードに絆創膏をあてることではない。

引用:「防御的プログラミング」を学ぶ

 

その4「無駄がない」

食べ物や服の好みが人によって違うように、コードに対しての美意識も人によりけりとなってしまいます。
ただ「無駄がない」コードを書くという意識が一番皆が納得する指標ではないでしょうか。
つまり”シンプル”なコードです。
シンプルであることが、保守性・可読性の高さに繋がります。

 

良いコードを書くための"習慣"

本題です。
当たり前ですが、長い期間プログラムを書いていれば勝手に良いコードが書けるわけではないです。
小さなことからコツコツと、”良いコード”が書けるように一緒に頑張りましょう!

 

習慣その1「読む」

“コードを読んで読んで、読みまくれ!”
自分の中の発想だけでは良いものは作れないです。
オープンソースソフトウェアなど他人の良いコード・悪いコードをじっくり読む、つまりコードリーディングをしましょう。
ただ、端から端までじっくり読むのは大変です。
“良いコード”となるような、変数定義・スコープ・分割や集約を重点的に見ると効率良く知識を得られることでしょう。

Code Search | Google Developers

GitHub Japan | GitHub

 

習慣その2「書く」

“とにかくコードを書きましょう!”
ありがちだと思いますが、読んで満足してわかった気になってしまうのはNGです。
自分の手を動かして吸収しましょう。
ただ「コピー&ペースト」だけはしないようにしてください。意味がないですからね。:-]

 

習慣その3「道具を磨く」

“使う道具は常に磨いておこう!”
使用しているツールや開発環境の状態によって、コードを書く効率が全く違います。
ショートカットや拡張機能を屈指して、開発の効率を上げましょう。
[具体例]
・エディタ/IDE(統合開発環境)
・単純作業の自動化(ビルド, DBスキーマ, テスト)
・バージョン管理ツール(Git, SVN)
・Linux系のコマンド/ツール(仮想環境)

 

習慣その4「知る」

“良い知識を得よう!”
知識がないと「書く」「読む」がままならないです。
まず、一番安パイなのが書籍(技術本)を読むことです。
インターネットなどで、先人たちがオススメする良書を探し出して購入しましょう。
良書をオススメする書籍というものもあります。

100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊

学びたい言語の公式のリファレンスや仕様書などのドキュメントから学ぶこともできます。
また、技術情報は常に更新されていくため継続的な情報収集は欠かせないです。
私はよく「TechFeed」で情報収集をしてます。インターネット社会に感謝です。:)

TechFeed – 無料で使える”地上最強”のエンジニア向け情報サービス

POSTD | ニジボックスが運営するエンジニアに向けたキュレーションメディア

 

習慣その5「聞く」

“アウトプットと人からのフィードバックでさらなる成長を!”
習慣その1〜その4は自己完結のインプットする習慣です。
この習慣にてインプットした情報をアウトプットし、さらに知識を深く理解することができます。
具体的に自分自身のコードや考えを誰かにアウトプットし、フィードバックを受ける場が必要となります。
このようなブログもアウトプットになりますね。
私も定期的にブログを書けるよう頑張ります。:D
[例]
・コードレビュー
・ブログを書く
・コミュニティや勉強会に参加する
・成果を発表する

 

良いコードを書くための”習慣”は以上です。
新人プログラマーは自分の学びの指標がわかり、中堅プログラマーは初心に戻ってより良いコードをになることでしょう。

 

この記事はあくまで「良いコードを書く技術」という書籍をほんの軽く習慣だけまとめたので、じゃあ実際にどういう書き方がいいの?と思った方はぜひ当書籍を読んでみてください。
皆で”良いコード”を目指しましょう!

 

おまけ:書籍「リーダブルコード」の違いについて

どちらも読んだ上での個人的な感想です。
「リーダブルコード」は原典が日本語じゃないこともあって言い回しに引っかかりやすいと思いました。
その点この書籍は読みやすかったです。

ただ「リーダブルコード」はより具体的な説明もあり、先人たちが超オススメする良書です。
当書籍にないような知識もあり、私も実際とても勉強になりました。
何もわからない新人プログラマーは当書籍「良いコードを書く技術」を読んで、習慣付けによってある程度知識を得てから「リーダブルコード」を読むとより学びを得ると思います。

改めて。

[増補改訂]良いコードを書く技術 ── 読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

 

関連カテゴリ 最新記事一覧