What does immobility refer to in bad software design?

Get ready for your Object‑Oriented Programming Test. Use flashcards and multiple-choice questions. Each question includes hints and explanations. Prepare for your exam today!

Multiple Choice

What does immobility refer to in bad software design?

Explanation:
The main idea here is that immobility in bad software design shows up when code cannot be reused beyond the exact situation it was written for. When code is immobile, it’s tightly bound to a specific context with concrete dependencies, hard-coded details, and little to no abstraction or parameterization. Because of those tight bindings, pulling the code into a new place or adapting it for a different scenario would require substantial rewriting or invasive changes. That fragility makes maintenance harder and slows growth, since you can’t easily compose and repurpose parts of the system. In contrast, reusable code is designed with flexibility in mind: generic interfaces, loose coupling, and clear abstractions so the same piece of logic can operate in different contexts with different inputs or dependencies. Self-modifying code is a separate anti-pattern that deals with changing behavior at runtime in unsafe ways, not about whether code can be reused. So this option captures the essence of immobility: the inability to reuse code outside its original context.

The main idea here is that immobility in bad software design shows up when code cannot be reused beyond the exact situation it was written for. When code is immobile, it’s tightly bound to a specific context with concrete dependencies, hard-coded details, and little to no abstraction or parameterization. Because of those tight bindings, pulling the code into a new place or adapting it for a different scenario would require substantial rewriting or invasive changes. That fragility makes maintenance harder and slows growth, since you can’t easily compose and repurpose parts of the system.

In contrast, reusable code is designed with flexibility in mind: generic interfaces, loose coupling, and clear abstractions so the same piece of logic can operate in different contexts with different inputs or dependencies. Self-modifying code is a separate anti-pattern that deals with changing behavior at runtime in unsafe ways, not about whether code can be reused. So this option captures the essence of immobility: the inability to reuse code outside its original context.

Subscribe

Get the latest from Examzify

You can unsubscribe at any time. Read our privacy policy