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

2015年3月21日に投稿 → に更新

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

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

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

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

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

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

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

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

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

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

名前の付け方

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

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

単語の切れ目の表現

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

スネークケース

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

キャメルケース

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

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

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

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

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

モジュール分割のルール

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相場がどれくらいか分からないという方はこちらの記事も、ぜひ読んでみて下さい!

エージェントを使った方が転職活動は楽です

東京・大阪近郊のイケてるIT企業に転職したい人には『レバテックキャリア』

 東京・大阪近郊のエンジニア経験者向け転職サービスです。

このサービスを運営しているレバレジーズという会社はシステム開発もやっているので、現場の仕事をよくわかってくれてますし、ヒカ☆ラボというIT系の勉強会なども主催していたりteratailというプログラマー専用の質問サイトを運営してて好感が持てます。求人案件もWebやスマホの面白い仕事が多いのでいいと思います。

ホームページを見ると分かるんですが、若くて美人の担当者が多いのもナイスなんです!私の場合(たぶんあなたも)、担当者が美人だと転職活動のモチベーションめちゃ上がりますからね笑

エンジニア未経験の方や地方在住の方にはワークポートというエージェントをおすすめします。

エンジニア未経験の方や地方在住の方には『ワークポート』

全国の求人を扱っていて、しかもITエンジニア未経験の人にも転職支援をしてくれるエージェントです。

未経験の人はサポート対象外のエージェントが多い中、ワークポートは未経験者を支援し転職を成功させています。

未経験の方こそエージェントから職務経歴書の作り方や面接の仕方のレクチャーを受けた方がずっとうまくいきます。

『派遣社員』なら正社員とフリーランスの『良いとこ取り』!

  • 「フリーランスになりたいけど、確定申告とかめんどくさいな」
  • 「定時帰りできる職場や、時短勤務がしたい」

という方には派遣社員がおすすめです。

派遣ってネガティブなイメージありますが、ITエンジニアの派遣社員なら

  • 時給が高く、給料も悪くない
  • やりたい仕事を選べる
  • 確定申告不要(派遣会社がやってくれる)
  • 厚生年金、健康保険も派遣会社が入ってくれる

ので、正社員とフリーランスのいいとこ取りな、とてもいい選択なんです。

 - 能力開発