Ostatnio zastanawiałem się nad tym problemem - najprostszą odpowiedzią jest przeczytanie „Projektu rzeczy codziennych” Dona Normana; Napisz kod tak, jakbyś zaprojektował produkt.
Parafrazując, dobry projekt minimalizuje błąd. Oznacza to kilka rzeczy, z których większość już robisz (chociaż możesz nie wiedzieć dokładnie dlaczego ).
-Name działa intuicyjnie. Jest to formalnie znane jako afordancja. Oznacza to, że przycisk wymaga naciśnięcia, dźwignia umożliwia przełączenie, uchwyt do pociągnięcia itp.
- Utrudnij pisanie złego kodu. Sprawdź, czy dane wejściowe są błędne i wyrzucaj błędy wcześniej niż później, w razie potrzeby używaj aplikacji węgierskiej itp. Są to tak zwane funkcje blokady.
-Użyj abstrakcji tam, gdzie jest to właściwe. Pamięć krótkotrwała jest słaba.
-Dokumentacja jest oczywiście ważna, ale jest najmniej skuteczna w zapewnieniu prawidłowego użycia kodu. Krótko mówiąc, dobrze zaprojektowane produkty nie wymagają żadnej dokumentacji. (Najbardziej oczywistym sposobem na to jest spojrzenie na złe przykłady: mianowicie drzwi z uchwytami, które należy popchnąć).
- Testy jednostkowe. Nie zapobiegają one tak naprawdę błędom, ale pokazują, gdzie są błędy i zapewniają zdrowie psychiczne.
Jestem pewien, że brakuje mi wielu innych zasad, ale najważniejsze jest, aby przeczytać o projektowaniu pod kątem błędów.