page icon

ソースコードの明確さ

文責: 田村敬也

“ソースコードの明確さ”はなぜ重要か?

ソースコードの明確さとは、コードが理解しやすく、保守が容易であるような品質を持つことです。複雑なソースコードは、それだけで自動的なテストを難しくしバグや障害を生み出しやすいだけでなく、開発者のモチベーションや生産性に悪影響を与えます。 ソフトウェアの内部的な品質は経営から不可視であるため軽視される傾向があります。だからこそ、可視化を行い、企業としてのリスクを軽減するために十分な注意をはらい続けなければなりません。
 

外部品質と内部品質

ソフトウェアの品質は外部品質と内部品質に分類することができます。
外部品質とは、ユーザーがソフトウェアを利用した時に感じる品質のことです。使いやすさや効率性、信頼性などが含まれます。
内部品質とは、ソースコードや仕様書などソフトウェアの内部を支える品質のことです。保守性や移植性などが含まれます。ユーザーが直接目にすることはありませんが、外部品質を高めるためにも、必要不可欠なことです。
ソフトウェアは顧客の要求や環境の変化によって、日々連続して変わっていきます。内部品質が低くなっていくと、変更や機能追加の際のコストが増加し、価値の提供が素早く行えなくなったり、不具合や障害のリスクも高まります。
内部品質を高めることで、顧客の要求に素早く答えることができるようになり、顧客の使い勝手が向上していき、外部品質を高めることもまた実現できます。
ソースコードの明確さは、内部品質に大きく影響します。エンジニアリングの根本である、ソースコードを明確にしていくことで、日々のエンジニアの活動を効率的にし、品質を高めることができます。

保守性を高める

ソフトウェアの品質指標の1つに保守性があります。保守性とは、JIS X 25010:2013によると、『意図した保守者によって,製品又はシステムが修正することができる有効性及び効率性の度合い。』とあります。分類すると、モジュール性、再利用性、解析性、修正性、試験性となります。
それぞれの詳細は、割愛しますが、ソースコードを明確にしていくことで、これらの指標を高めることができます。

ソースコードの明確さを高めるためには

ソースコードの明確さを高め、保守性を高めるためには、いくつか方法があります。
まずは、コードレビューを行うことが重要です。
ソフトウェア開発は、たいていの場合、チームで行います。1人で開発する場合でも、永遠に1人で開発するわけではなく、いつかは別の人に引き継ぐことになります。開発した個人のみしか理解できないソースコードは変更に多大なコストがかかり、修正不能になる場合もあります。
コードレビューを行うことで、チーム間で知識・ルールを共有し、1人では気付けないミスや改善点の指摘を受けることができます。
また、ソースコードの明確さの基準は、個人によって見解が異なることもあるので、コードレビューガイドラインを作成し、チームとしてのルールを作成することも必要です。コードフォーマット等の自動的に判断できる指摘は、Linterやフォーマッター等のツールを利用しましょう。
また、コード解析ツールで、各種指標を計測することで、ソフトウェアの健康診断を行うこともできます。定期的に計測すると、保守性が維持されているのか、損なわれているのか判断することができます。
 
※参考
 

ソースコードの明確さのクライテリア