ソフトウエア設計とは2024/01/25 22:21

ソフトウエアコンポーネント間の依存関係を管理する技(技術)である。依存関係を最小化し、必要な抽象化を導入し妥協点を見いだすことを目的とする。

と、ある書籍(C++ソフトウエア設計)にありました。

依存関係を管理するとは、複数のモジュール(原作者が自分とは限らない)を適切に活用するための技のことであり、これが依存関係こそがソフトウエア開発の鍵である。

雲のつたない経験でも、複数のモジュール(作者は自分)を適切に活用することの難しさは実感します。大体の場合、適切に依存関係を管理すると言うより、依存関係を再定義する(つまり、利用しようとしているモジュールを変更して適用する)ということが多いです。

これは、早い話、様々なプロジェクトに共通して利用可能なモジュールを開発するスキルが雲に欠けている(というか、無い)ということであり、言葉を換えれば、そのような共通モジュールを作ることの難しさの裏返しだと思います。

例外処理の統一化2024/01/08 23:11

std::error_code, std::error_category, std::error_conditionの違い

https://nekko1119.hatenablog.com/entry/2016/08/20/070209

VisualStudio の便利機能2023/12/19 21:19

C++ プログラミングの生産性を少し改善する Visual Studio の機能(2023)

https://zenn.dev/reputeless/articles/cpp-vs2022-tips