ソフトウェア工学概論

コラム

優れたプログラムとは (3)

○再利用と保守性の関係  継承は非常に高い再利用性を持つ反面、スーパークラスへの依存度が高くなればなるほどそこへの修正コストが高くなるという欠点があります。低階層に位置するこれらの要素は、プログラムの大部分に影響を及ぼす可能性がある...
2020.10.16
コラム

ポリモーフィズムについて

 ポリモーフィズムは一般的にオブジェクト指向の代名詞のように扱われることが多いですが、ポリモーフィズムを再利用性の観点から説明する場合には慎重に行わなければならないと私は考えます。なぜならポリモーフィズムの根源的な意味とは、オブジェクト同...
2020.10.16
コラム

下流工程の質

 以前のエントリーでは日本特有の上流・下流の分離構造について、それが必ずしも諸悪の根源とは言えないのではないかというお話しました。ただ、だからと言って、この分離構造に問題がないとはまったく思っていません。分離構造の一番の問題点は、下流工程...
2020.10.16
コラム

上流・下流の分離構造は諸悪の根源か?

 日本の上流・下流の分離構造には確かに多くの問題点があり、欧米を見習って一刻も早くこうした構造を解消すべきだという主張を時折目にするのですが、私としてはそのような論調にも若干無理があるのではないかと思っています。結局のところ、スキルの低い...
2020.10.16
コラム

SI業界の理想と現実

達人プログラマーを目指して「高い品質のプログラムを作らなくてはならないと考えている職人PGの考えは間違っていた?」  SI業界の分野ではその事業内容の特性上、ソフトウェア品質に対する理想を追うことが非常に困難な現状があります。SIe...
2020.10.16
コラム

0. ソースコードの低可読性の問題認識

 ソースコードの可読性を議論する際に注意すべきことは、そもそも可読性とは一体なんなのか、なんのために議論するのか、それがどういう効果をもたらすのかを明確にしなければならないということです。プログラムにおける「可読性」という単語は非常に曖昧...
2020.10.16
コラム

ソースコードの可読性や保守性

 保守性には細かく言うと、機能拡張性や性能・規模拡張性、デバッグやチューニングの容易性などが挙げられると思うのですが、私がこれまで経験した現場においては、これらの項目はシステム設計やモジュール・階層設計、データ構造設計、基底・抽象クラス設...
2020.10.16
コラム

分かりやすいコード

アジアのソフトウエア開発現場にて「分かりやすいコード」  共通ロジックのリファクタリングは、コードの可読性に立ちはだかる大きな問題の1つですね。(そのアプリケーション内において)低階層に位置する共通関数群やスーパークラス等は、ソフト...
2020.10.16
コラム

ソースコードの質

ソフトウェアに求められるものは、繰り返し行われる機能追加に耐えうる拡張性と、長期に渡って品質を保つことのできる保守性であり、これらに影響を及ぼす重要な要因は「ソースコードの質」、すなわちコードの可読性だ、というコラムです。
2020.10.16
コラム

いかにしてソフトウェアは壊れていくか

まず、バグ修正や仕様変更が起きます。時間がなくて、その場しのぎで非効率な修正が施されます。ここでプログラムの可読性が損なわれます。 保守フェーズに入り、設計者やコード作成者がいなくなります。後任が全体を把握しきれないまま、コードの追...
2020.10.16