述べたように、オブジェクト指向が使用される場所では、強固な原則が適用され、リストした問題は、強固な原理だけでなく、適切に設計されたオブジェクト指向のコードベースに簡単に拡張できます。

ただし、固体原理は、他のプログラミングパラダイムでも手続き上で使用できます。
単一責任原則（SRP）：手順には、変更する理由が1つしかない必要があります。これは、手順が特定のタスクの実行に焦点を合わせ、複数のことをしようとしないことを意味します。

オープン/クローズド原理（OCP）：手順は延長のために開いている必要がありますが、変更のために閉じている必要があります。これは、既存の手順を変更するのではなく、新しい機能を作成することにより、新しい機能を追加する必要があることを意味します。

リスコフ代替原理（LSP）：互いに交換可能な手順には、同じ入力と出力が必要です。これは、同様の署名を備えた手順は、問題を引き起こすことなく交換可能であることを意味します。

インターフェイス分離原理（ISP）：手順を使用していないインターフェイスを実装することを強制されるべきではありません。つまり、手順は必要な入力と出力のみを実装し、不必要な入力を含めないことを意味します。

依存関係反転原理（DIP）：高レベルの手順は、低レベルの手順に依存してはなりません。どちらも抽象化に依存する必要があります。これは、手順が具体的な実装ではなく抽象化に依存する必要があることを意味します。
As stated, the SOLID principles applies where object-orientation is used, and the problems you listed can be easily expanded to well-engineered object-oriented codebases, not only to the SOLID principles. 

SOLID principles, however, can be used also in other programming paradigms, as procedural:
Single Responsibility Principle (SRP): A procedure should have only one reason to change. This means that a procedure should be focused on performing a specific task and not try to do multiple things.

Open/Closed Principle (OCP): Procedures should be open for extension but closed for modification. This means that new functionality should be added by creating new procedures rather than modifying existing ones.

Liskov Substitution Principle (LSP): Procedures that are interchangeable with each other should have the same inputs and outputs. This means that procedures with similar signatures should be interchangeable without causing any issues.

Interface Segregation Principle (ISP): Procedures should not be forced to implement interfaces they do not use. This means that procedures should only implement the necessary inputs and outputs and not include unnecessary ones.

Dependency Inversion Principle (DIP): High-level procedures should not depend on low-level procedures. Both should depend on abstractions. This means that procedures should depend on abstractions rather than concrete implementations.