ソフトウェア開発の原則とは
2022/11/28
今週のコラムを担当する大石です。
今回は、ソフトウェア開発者として知っておくべき原則について代表的なものをいくつか紹介したいと思います。
かくいう私も言葉自体は最近になってソフトウェアの設計について考えるようになり初めて知りました。
○DRYの原則
「Don't Repeat Yourself.」の略称で直訳すると「繰り返しをしないで」という意味。
同じようなロジックを持つコードが複数の場所に存在する場合、
そのコードにバグが見つかったり、仕様変更があったときには該当する全てに手を加えないといけなくなるので、同じ処理は共通化して一か所にまとめておきましょうという考え。
厳密にいうと、単にソースコードの話に限らずソフトウェア開発のあらゆるフェーズにおいて情報を重複させるべきではないという原則。
プログラミングを学び始めたての頃でも同じ処理を関数にまとめるのは基本として習ったかと思います。
それと同じ考えで、重複している無駄をなくしていくというのは大事なことですね。
ただ、何でもかんでも共通化すれば良いというわけでもないのでそこらへんの切り分けはしっかりとする必要があります。
○KISSの原則
「Keep It Simple Stupid.」の略称で直訳すると「シンプルにしよう」という意味。
いきなり完成度の高いものや色々な機能を持ったソフトウェアを作ろうとすると複雑な設計や構造にしてしまいがちですが、そういったことは避けてなるべくシンプルに心がけようという原則。
ソフトウェアは要件が増えれば仕様も複雑化していき、それに伴ってコードもどんどん複雑になってしまいます。
複雑化しすぎたシステムはユーザーにとっては使い辛く開発者にとっては大きなコストになることがあります。
物事はシンプルにするほうが上手くいくというのはまさにその通りだと感じました。
○YAGNIの原則
「You Ain't Gonna Need It.」の略称で直訳すると「それは必要にならないよ」という意味。
ソフトウェア開発を行う際に、あとで必要になるかもしれないと予測を立てて機能を作ったとします。
しかし、実際にその機能が使われることがなかった場合に様々なコストやデメリットが発生してしまうので、機能は実際に必要になってから追加しましょうという原則。
これはアジャイル型の開発手法に関連していることですね。
先を見越して機能を作っておくのは一見良いことのように思えるのですが実は推奨されていない手法ということに少し驚きました。
○まとめ
原則と聞くと堅苦しく感じますが、どれもソフトウェア開発の発展の中で培われてきた経験則ということもあり個人的に為になるものばかりでした。
ソフトウェアの設計・開発を行う際には意識してやっていきたいですね。
----------------------------------------------------------------------
株式会社AQUARIZE
〒531-0072
大阪市北区豊崎3-6-8 TOビル404
電話番号 : 06-7777-2927
税理士の業務をツールで支援
税理士の業務に合ったシステム
----------------------------------------------------------------------