User Tools

Site Tools


principles:easy_to_use_and_hard_to_misuse

This is an old revision of the document!


Easy To Use And Hard To Misuse (EUHM)

Variants and Alternative Names

Context

Principle Statement

Description

Rationale

Strategies

Origin

Evidence

Relations to Other Principles

Generalizations

  • Murphy's Law (ML): Because of ML an interface should be crafted so it is easy to use and hard to misuse. EUHM is the application of ML to interfaces.

Specializations

Contrary Principles

  • Keep It Simple Stupid (KISS): Both principles, KISS and EUHM, are about simplicity. But while EUHM is about the simplicity of an interface, KISS is rather concerned with simplicity of the implementation. KISS is contrary in those cases where the solution which is easier to implement is not so easy to use or imposes further possibilities for misuse.

Complementary Principles

  • Fail Fast (FF):
  • Invariant Avoidance Principle (IAP): One reason for a possible misuse of a module is an invariant. For example there might be a method which takes a list and an index where the index has to be within the bounds of the list. Each of these invariants imposes further possibilities for misuse of the module. So it is better to avoid them.

Principle Collections

OOD Principle Language
General Principles
ML KISS MIMC DRY GP RoE
Modularization Principles
MP HC ECV
Module Communication Principles
TdA/IE LC DIP
Interface Design Principles
EUHM PLS UP
Internal Module Design Principles
IH/E IAP LSP PSU

Example

Description Status

Further Reading

principles/easy_to_use_and_hard_to_misuse.1602499163.txt.gz · Last modified: 2020-10-12 12:39 by 159.69.186.191