• HOME
  • Web Tech
  • 質の良いソースコードは何をもたらすのか

質の良いソースコードは何をもたらすのか

  • RSS
  • Facebook
  • twitter
  • LINE
  • はてなブックマーク

「質の良いソースコード」と言うキーワードから、どのようなソースコードを思い浮かべますか?

人それぞれ、千差万別かと思います。

コメントは書かれていますか?
ステップ数はどのくらいでしょうか?
そもそも、「そんなものは存在しない」でしょうか?
はたまた、「ちょっと何言ってるかわかんない」となるでしょうか?

私は、明確な定義を持っています。
今回は、質の良いソースコードの定義を紹介させていただこうと思います。

結論

結論を先に記述しますが、「質の良いソースコード」は

実装工数の削減

保守工数の削減

エンジニアの育成、スキル向上

をもたらします。

ピンと来ないかもしれないので、掘り下げていきます。

「質の良いソースコード」とは

私が考える「質の良いソースコード」とは、

⦿ 可読性が高いソースコード

⦿ 再利用性が高いソースコード

を示します。

可読性とは

可読性とは、処理の目的や、処理の流れに対する理解のしやすさのことを指します。

可読性が高ければ、

不具合解析が容易になり、保守工数の削減に繋がる

第三者が理解しやすいことで、プログラムを複数人の共通認識にできる
 ⦿ 「その人がいないと困る」と言う事態にならない

要求仕様とプログラムとの乖離を検出しやすい
 ⦿ プログラムが間違った方向に組まれてしまうことを防ぐ
 ⦿ 仕様変更にも強くなる

と言った効果が現れます。

再利用性とは

再利用性とは、ある時点で書かれたプログラムの一部または全てを、後に別のプログラムを書く時に利用することを指します。
冗長な作業に費やす時間とエネルギーを節約する、典型的な技法です。

再利用性が高ければ、

☑ 開発チームの資源として蓄積していくことで、複数のプロジェクトに流用することができる

☑ ある時点で動作確認が取れているため、品質が保証されている
 ⦿ 実装、および動作確認の工数を削減することができる

と言った効果が現れます。

必要な考え方

「質の良いソースコード」を書くためには、次の考え方が必要になります。

⦿ ソースコードに明確な意思を込める

⦿ コメントをしっかり書く

⦿ 第三者に見せることを前提する

ソースコードに明確な意思を込める

普通の文章のように、書き手の意思が読み手に伝わるように心がけます。

■ 変数名の命名規則
・自分ルールでも、規則化されていることが伝わればよい

■変数のスコープ(有効範囲)
・変数のスコープはできる限り小さくする

■関数化基準の明確化
・共通で使用する可能性が高い処理を関数化する
・仕様変更によって変更が発生する可能性が高い処理を関数化する

■クラス作成基準の明確化
・システムを構成する要素を適切にクラス化する
・クラスの役割が明確になっている

■処理をまとめる(ブロック化)
・処理をまとめることで、俗に言うスパゲッティコードになることを防ぐ
・後で関数化しやすい
・記述位置を変更する場合、ブロック単位で移動できる

意思が伝わることで、ソースコードが格段に読みやすくなります。

コメントをしっかり書く

コメントは、設計工程とテスト工程を紐付けるものと位置付けます。
設計書に書くべきフローチャート(振る舞い)をコメント(人が理解できる文章)として書くことで、設計工程と紐付けます。

☑ 振る舞い=テスト項目となるので、テスト工程とも紐付く

☑ JavaDoc、YARDなどのドキュメント生成ツールによって、ドキュメントを生成できる

☑ ドキュメント生成ツールの規約に沿って、クラスヘッダー、関数ヘッダーを記述する

実際には生成しないとしても、規約に沿って書かれていることで理解しやすくなり、可読性が向上します。

第三者に見せることを前提とする

ソースコードこそ、プログラマーが最大の力を発揮して作るモノです。
これに力を入れずして、プログラマーは名乗れません。

ソースコードはシステムの核となる要素であり、だからと言って見えなくて良いものではありません。
また、その場しのぎで作られた使い捨てされるものでもありません。

第三者によって解析・改修され続け、時にはお手本にされることもあります。
そのようなモノが、見づらく汚いものであってはいけません。
インターネットのサイトや印刷物のように、誰が見てもわかりやすく、美しいと感じるものでなければなりません。
いついかなる時でも、ソースコードを見ながら説明できるようにしておかなければなりません。

それほどの想いを持って、ソースコードを書くべきです。

最後に・・・

先に述べた結論のとおり、「質の良いソースコード」は

☑ 実装工数の削減
 ⦿ 再利用性の高さにより、流用可能なリソースを蓄積できる

☑ 保守工数の削減
 ⦿ 可読性の高さにより、不具合解析が容易になる
 ⦿ そもそも品質が向上するので、不具合の発生頻度が低下する

☑ エンジニアの育成、スキル向上
 ⦿ 可読性の高さにより、初心者でもコーディングを学習しやすくなる
 ⦿ 良いコーディングパターンとして、ひとつの指標(参考例)となる

をもたらします。

プログラマーが書くソースコードこそが、システムの核となる最も重要な要素です。
ソースコードと真摯に向き合うことが、プロジェクトを成功に導く最善の方法だと私は考えます。


オンサイトではエンジニアチームのメンバーを募集しています!
少しでも興味のある方は採用サイトからご連絡ください。

一緒に働く仲間を募集中!

サービス資料請求 REQUEST        

    お名前
    会社名
    都道府県
    E-mail
    TEL


    Thank  you!

         

    資料請求ありがとうございます。
    担当者より連絡差し上げます。もう暫くお待ちくださいませ。