プログラミングで汚いコードは書かないために必要なこと
  • facebookページ
  • twitterページ
  • 2017.09.30

    プログラミングで汚いコードは書かないために必要なこと

    ソースコードは、生き物です。
    その理由は、公開後も機能追加やバグ修正という品質向上の面や、アプリケーションが動作している環境の変化に伴う根本的な修正対応など、サービスが終了するまでまるで子供の面倒を見るようにメンテナンスする必要があるためです。

    ただ生き物と言ってもコードは文字列で構成されています。そんな文字列であるソースコードを生み出しメンテナンス・成長させるにあたり、可読性(読みやすい・見やすい)という観点が重要になってきます。

    汚いコードとは?

    汚いコードとはどんなコード?

    汚いコードとは、いったいどんなコードでしょうか。いろんな観点がありますが、上述した様に「文字」で構成されているという観点では、まず、読みやすい・理解しやすいことが重要になってきます。

    「私は、アプリケーションを全て独りで作るので、全て理解しているから大丈夫です!」という方が、稀に居らっしゃいますが、人は忘れる生き物。半年、1年間など、放っておいたコードを久しぶりに見た時に「あれ? これって、何のことだっけ・・?」となること間違いなしです。

    さらに、複数の人が関わっているプロジェクトですと、人によって記述の癖が存在します。1年後にメンバーが変わっている事も普通に起こり得ます。こんな時、初めて読む人が理解しにくい。または理解不能なコードになっていると大変です!

    汚いコードの影響

    例えば、汚いコードはこんなことを引き起こします。

    • 同じ処理をコピペし、いろんな箇所で使いまわしている。そのため可読性が悪くなる。
    • 変数名・関数名が適切でないために誤解が生じる。
    • 機能追加や削除などメンテナンスを行う場合に、広範囲にわたって修正する必要が出てきてバグの多発を真招く。
    • メンテナンスに掛かる時間コストが大きくなる。

    なぜ汚いコードになってしまうのか

    経験の差や意識の差が大きいところは否めないですが、まずは汚いコードの弊害を理解・経験することが大事です。いきなり100%綺麗なコードを書く事は、厳しですが、努力するマインドをチームメンバーで持つとことから開始し、出来る範囲でルールやコードレビューの観点を作ることが大事です。

    【関連記事】
    レベルアップを目指せるコーディングスキルチェックと学習方法

    美しいコードを書く方法

    いくつかありますが、上でも書いたように、チームまたは会社内で基本的なルールを設けましょう。いくつか具体例を以下に挙げます。

    • プルリクエスト単位でレビューを他メンバーが行う。
    • コードフォーマッターなどの自動化できるツールを使用しする。
    • コメントを多用しない。
    • 1つのメソッド内に複数の機能を持たせない。
    • 常にリファクタリングの余地がないかを考えながらコードを書く。
    • 途中で不使用となったメソッドやクラスは削除する。

    テストコードを書こう!

    可読性が良い綺麗なコードになると、テストコードも書きやすいはずです。本来であればテストコードは、実コードを書く前に実装することが良いとされていますが、慣れておらず難しい場合は、コーディングと平行して書いても良いです。テストコードを書くことで、実コードの側の読みにくさや汚さに気付きリファクタリングを行う良いきっかけになることも多いです。また、テストコードを書くことで、アプリケーションの品質向上にもなり、一石二鳥です。

    オープンソースのコードリーディングをやってみよう!

    アプリケーションを作成するにあたって、今やオープンソース・ライブラリを使用しない事は、少ないです。特に世界で良く使用されているライブラリは、メンテナンスが活発に行われておりGitHubに公開されているものは、世界中のプログラマーによってプルリクエストが投げられ、その中で議論されているのでコードの品質は元より、ソースコードの書き方も綺麗で参考になるもののが多く存在します。

    いきなり使用する前にライブラリのソースコードを読むのは、モチベーション的に厳しいものがあると思いますが、使いながら「ここは、どんな処理になっているのだろう?」と思った時に、気になった部分だけでも良いので、ソースコードを覗いてみましょう。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテキャンバナー ポテキャリバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE