プリンシプルプログラミング プログラミング

【POP55】UNIX思想(8)安定性の原則について

はじめに

この記事は「プリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則」を読んだ際に記した議事録です。

著作権の関係により、詳細には書きません。詳しい詳細を知りたい方はぜひ本書を読んでみてください。

プリンシプルオブプログラミングをPOPと訳します。

What : ソフトウェアの安定

「ソフトウェアの安定」とは何でしょうか?定義は様々ですが、「予想外にも対応できるソフトウェア」を安定とします。堅牢であるとも換言できます。

しかし、予想外を考え出すと、無限に出てきてどんどん複雑になっていきます。すると逆に障害発生のリスクが高まり、安定しないというジレンマに陥ります。バランスよく両者を満たして堅牢なソフトウェアを作るには以下の二つが重要になります。

・透明性

コードを見通すことができて、何が起きているのかすぐわかるようなコードであれば、そのコードは「透明」です。

・単純性

コードで行われていることが複雑でない且つ、全ての分岐を難なく説明できるようであればそのコードは「単純」です

Why : ソフトウェアは堅牢でなければいけないから

堅牢であることは大前提です。安定していないソフトウェアはユーザーへ提供する価値が著しく低くなってしまいます。障害が発生してダウンしてしまうようなソフトウェアは良質なサービスを提供できません。しまいには「使われない枯れたソフトウェア」になってしまいます。

 

How : 「透明化」「単純化」したコードを書こう

「透明」且つ「単純」であることを常に保ちましょう。以下の二つに留意します。

・コードレビュー

コードしたプログラマがそのコードの内部構造について正しく説明できなければ、危険信号です。

・様々な入力に耐えられるように検証する

特異な入力、極端に大きな入力に耐えられるようにします。

他のソフトウェアから与えられる入力を使用すると、効果的なテストができます。

終わりに

この記事ではプリンシプルオブプログラミング 3年目までに身につけたい一生役立つ101の原理原則の議事録を自分用に記しています。

この記事ではカバーしきれていない部分も多いので、是非本書を手にとって読んでみてください。

次回、「【POP56】UNIX思想(9)表現性の原則について」です。ぜひ、次の記事も読んでみてください。

  • この記事を書いた人
  • 最新記事

ミッチー

小中高と野球漬けの毎日 ▶︎ 大学時に自分が何もできないことに気づき、プログラミング学習開始 ▶︎ PCは疎かったがめげずに継続 ▶︎ 受託で案件を頂きながら、オーダースーツ事業に、通販事業にも参戦 ▶︎ 東証一部Web系自社開発企業にエンジニアとして内定。

-プリンシプルプログラミング, プログラミング

© 2022 オミチャンネル Powered by AFFINGER5