きれいなソースコードを書くために意識すべきこと

2015年3月21日に投稿 → に更新 能力開発

「メンテナンス性を上げるためにきれいなソースコードを書きたい」
「優れたプログラマーは書くコードがきれいって言うけど」

プログラムを書くなら、きれいに書きたいですよね。

私はこれまでに15年以上プログラムを書き続けてきましたが、「きれいなソースコードを書くこと」は常に重要な課題でした。

試行錯誤する中で見えてきた「きれいなソースコードを書くためのポイント」を紹介します。

書き方のルールを作り守る

きれいなソースコードの特徴の一つは「一定のルールで書かれている」ということです。

書き方が統一されていないコードは美しくありません。

書き方が一定のルールに統一されていても、そのルールが美しくなければ意味がありません。

つまりは「美しい書き方のルールを作り、守る」ことが大切なんです。

では、どんなルールがいいかを考えてみましょう。

名前の付け方

変数、関数(メソッド)、クラス名などの命名規則を決めます。

全て英単語にするとか、単語を短く短縮する時のルールも決めます。

単語の切れ目の表現

大きく分けて2つの表現方法があります。

スネークケース

単語と単語の間を_(アンダーバー)で区切る方法です。

キャメルケース

単語の頭文字だけ大文字にして連ねる方法です。

基本は使用する言語に合わせる

単語の区切り方は使用するプログラミング言語に合わせればいいと思います。
Java、JavaScriptならキャメルケース、Rubyならスネークケースとなります。

キャメルケースの方が文字数が少なくできるけど…?

API通信に使うJSONのプロパティ名はキャメルケースにした方がアンダーバー(_)がない分、文字数が少なくて済むので、通信料を減らせて良いと思います(微々たる量ですが)。

モジュール分割のルール

大きなプログラムを作る場合、一つのファイルに全てを書いていては、プログラムの理解が困難です。

大きいプログラムは理解しやすい大きさに分割すべきです。

そのためには分割のルールが必要です。

かんたんなものだと、「一つの関数(メソッド)は100行以内にする」というものがあります。処理によっては一つの関数が1000行あってもいい場合があるかもしれませんが、一定のルールを設けることでコードの読みやすさの底上げができます。

この他にモジュール化するレベルを合わせるという方法があります。

かんたんに言うと関数に切り分けるレベルを合わせるんです。

というコードを分割する際に

としてしまうとHelloと出力する処理だけ関数に分割していて他とレベルがあっていません。

分割レベルを合わせると以下のようになります。

ソフトウェアに合ったルールを考えよう

コードの書き方のルールに絶対的な正解はありません。プロダクトの数だけ正解があります。

それぞれのプロダクトに合ったルールで書けば良いと思います!

おまけ: 給料で損した経験談

私と同じ失敗をされないよう経験をシェアしてます。

私が新卒で入った会社は社員数80名の零細ベンダーでした。

基本給は17万円で手取りは14万円くらいでした。仕事は客先常駐の業務システム開発(言語はJava)でした。

会社の先輩に「うちの会社って給料安すぎませんか?」って聞いてみたところ、

「どこもそんなもんだよ、ふつうふつう」

と言われて、「そうなのかなぁ…」と半信半疑ながら4年半勤めて年収は320万円でした…。

「やっぱ安すぎだろ!?」と思って試しに転職してみたら、

仕事内容はほぼ同じで年収が120万円もアップしたんです!

「こんなことがあっていいのか…」って感じですが、現実はどんな仕事をするかより、どの会社で働くかで給料が決まる面が大きいんですよね。

給料の高さが全てではありませんが、年収相場より大幅に安いという方は一度転職を検討してみると良いと思います。

相場がどれくらいか分からないという方は私のこれまでの年収推移を、ぜひ参考にしてみて下さい。