Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Чек-лист паттернов проектирования HAL

  • Именование (крейт соответствует соглашениям Rust об именовании)
    • Крейт назван надлежащим образом (C-CRATE-NAME)
  • Совместимость (крейт корректно взаимодействует с другой библиотечной функциональностью)
    • Типы-обёртки предоставляют метод деструктора (C-FREE)
    • HAL реэкспортируют свой крейт доступа к регистрам (C-REEXPORT-PAC)
    • Типы реализуют трейты embedded-hal (C-HAL-TRAITS)
  • Предсказуемость (крейт делает код понятным, а его поведение соответствует внешнему виду кода)
    • Используются конструкторы вместо extension-трейтов (C-CTOR)
  • Интерфейсы GPIO (интерфейсы GPIO следуют общему шаблону)
    • Типы выводов по умолчанию имеют нулевой размер (C-ZST-PIN)
    • Типы выводов предоставляют методы стирания типа вывода и порта (C-ERASED-PIN)
    • Состояние вывода должно кодироваться как параметры типа (C-PIN-STATE)