Мое понимание сигнатуры из 9-ой Методологии

Сигнатура описывает метод и состоит из:

  • Самого метода
  • Предметов метода, над которыми происходит метод
  • Предметов метода как результата применения метода

Пример сигнатуры:

  • Построить скворечник (доски, молоток, гвозди)

Пример на псевдокоде:

  • func buildBirdhouse(Boards, Hammer, Nails) BirdHouse

По сигнатуре выбираем варианты метода из альтернатив. Этот вариант метода будет специализацией метода из сигнатуры. Метод или его сигнатура раскладываются на другие методы и их сигнатуры, такое разложение будет описанием метода исходной сигнатуры, алгоритм.

Ниже я пробую две иерархии из курса, как их понял.

Пример иерархии сигнатур (generalization hierarchy), отношение в иерархии - специализация:

  • Записать текст (ручка, лист, описание)
    • Записать текст правой рукой (ручка, лист, описание)
    • Записать текст левой рукой (ручка, лист, описание)

Пример иерархии спецификации (specification hierarchy), отношение в иерархии - синтез, подбор аффордансов. Для “Записать текст левой рукой (ручка, лист, описание)” будет:

  • Набор для письма (конструктив)
    • Взять ручку левой рукой (ручка) (сигнатура)
    • Писать текст (ручка, лист, описание) (сигнатура)
    • Убрать ручку левой рукой (ручка) (сигнатура)

Давайте разбираться. Насколько я помню, у нас точно есть две штуки:

  1. Мы можем от более общего метода прийти к частному (это специализация).
    Метод - мышление письмом.
    Возможные специализации:
  • написание постов в клубе ШСМ
  • написание заметок в телефоне
  • написание размышлений в бумажном дневнике
  • написание постов в ЖЖ
  1. Метод любой раскладывается на подметоды (вроде приставку “под” плохо использовать, но на составляющие его методы)

Мышление письмом можно разложить на:

  • составление исчезающих заметок
  • написание черновика из этих заметок
  • написание заготовки (черновик публикуется на менее широкую аудиторию)
  • написание поста (подразумевает редактуру и причесывание текста)

У вас ещё третья штука - выбор аффордансов. Но он вроде может быть в любой момент.

Вот у меня “написание постов” и дальше это выбор в ЖЖ, в клуб, в любую другую соц.сеть/площадку. Или “написание заметок” и снова в заметки на телефоне, или ручкой в бумажный дневник, или карандашом на салфетках, или даже голосом в диктофон с последующей расшифровкой ботом.

А у вас про аффордансы написано скорее разложение метода приложить ручку, поводить ей по поверхности, убрать от поверхности. Вы здесь ничего уже не выбираете.

1 лайк

У вас нет опыта программирования на С или С++?

Чего нет, того нет))

Я с вами согласен в части работы с методом, но ваше понимание сигнатуры для меня не ясно. На мой взгляд в курсе сейчас недостаточно точно описано это понятие.

1 лайк

“Термины важны и не важны”?) Это ж курс методологии, он уже после сисмыша идёт, по идее не должно быть уже таких проблем…

Что вы имеете ввиду?

Что точные определения понятия до конца не объясняют. И что если меня путает понятие “сигнатуры”, я бы его оставила в сторонке полежать. Вам про сам метод же понятно вроде?

Много рассуждений строится на этом понятии и без его понимания будет снежный ком из непонимания. Переписал свой пост по актуальному пониманию. :upside_down_face: