ДИСЦИПЛИНА 2
Суб или Шаг
Разрезать | Разместить | Функция | Соединить
Разрезать
С каждым куском я решаю: выделить его как подпроцесс или оставить шагом
Разместить
Шаг находится в потоке суба; суб находится в потоке процесса
Функция
Работа куска подсказывает мне, нужно ли ему собственное внутреннее устройство
Соединить
Режь с верной детальностью, и куски соединяются в процесс, ни загромождённый, ни слипшийся в комья
Когда процесс делится на части, первое решение для каждого куска одно и то же: это подпроцесс или шаг? Это самый основной разрез, и всё остальное в делении следует из него. Прими это решение верно для каждого куска, и процесс разделится на те части, из которых он действительно сделан. Прими его неверно, и процесс окажется либо раздроблен на большее число кусков, чем в нём есть, либо собран в меньшее, и в обоих случаях деление больше не соответствует работе.
Проверку дала предыдущая дисциплина: есть ли у куска внутреннее устройство, которое стоит начертить? Шаг — это одно действие: сделано и передано дальше, без внутреннего потока. Подпроцесс больше: это поток из нескольких действий, выполняющих связный кусок работы, со своим внутренним устройством. Поэтому для каждого куска проектировщик спрашивает, есть ли внутри него поток, который стоит выделить, и режет соответственно: одно действие остаётся шагом; поток действий становится подпроцессом. Это суждение превращает процесс из неделимого целого в названные части, кусок за куском.
И его стоит выносить хорошо, потому что подпроцесс даёт то, чего не даёт шаг. Подпроцесс — это единица, над которой можно работать обособленно. Когда нужно изменить одну часть большого процесса, ты загружаешь только этот подпроцесс, разбираешься в нём и работаешь над ним, не держа весь процесс в голове, на экране или в комнате. Остальное остаётся как есть, и ты доверяешь ему делать своё, пока работаешь над той единственной частью, которая этого требует. Процесс, разрезанный на хорошие подпроцессы, — это процесс, над которым можно работать по куску за раз; процесс, оставленный неделимым, приходится охватывать целиком всякий раз, когда его трогают. И это ещё не всё: подпроцесс можно отгородить. Им может владеть одна команда, над ним можно работать, не тревожа остальное, и его можно показать только тем, кому он нужен: люди, которым нужно видеть, как проводится платёж, видят этот подпроцесс, и весь основной процесс им при этом не открывается. Разрез на подпроцессы — это не только то, что делает процесс читаемым; это то, что превращает его части в вещи, над которыми можно работать, которыми можно владеть и которые можно отгородить обособленно.
Наивысший возможный стандарт — для каждого куска процесса делать первый разрез на суб или шаг по тому, есть ли внутри куска поток, который стоит выделить, понимая, что именно подпроцесс позволяет обрабатывать часть обособленно, владеть ею отдельно и показывать её только тем, кому она нужна, чтобы разрез делался ради того, что он даёт, а не по привычке.
Ключевой вывод: Когда процесс делится на части, первое решение для каждого куска — подпроцесс или шаг; это самый основной разрез, и деление следует из него. Проверка из предыдущей дисциплины: есть ли у куска внутреннее устройство, которое стоит начертить? Одно действие остаётся шагом; поток из нескольких действий, выполняющих связный кусок, становится подпроцессом. Решать стоит хорошо из-за того, что даёт суб: работать над одной частью обособленно (загружая только её, а не весь процесс) и отгородить её (владеть ею, менять её или показывать её отдельно, не открывая остального). Разрез — не только то, что делает процесс читаемым, но и то, что превращает его части в вещи, над которыми можно работать, которыми можно владеть и которые можно отгородить обособленно.
Первый разрез — суб или шаг, по тому, есть ли у куска поток, который стоит начертить; именно суб позволяет обрабатывать часть обособленно, владеть ею отдельно и показывать её только тем, кому она нужна.
MarvinPro · PROCESS · Вот Как Строить · Проектирование · Суб · Дисциплина 2: Суб или Шаг · Раздел: Первый разрез
MarvinPro | Октябрь 2026
marvinpro.com
Проверка не в том, есть ли у куска хоть какое-то внутреннее устройство, а в том, стоит ли его начертить. Почти что угодно можно разложить на более мелкие действия, если смотреть достаточно близко: запись одного значения можно описать как «найти поле, проверить его, ввести значение, подтвердить». Но начертить это как подпроцесс, с собственным названным потоком, значило бы добавить структуру, которая не окупает себя. Внутреннее устройство технически есть, но его не стоит чертить: никому не нужно работать над ним обособленно, владеть им отдельно или видеть его шаги. Во всех отношениях, которые имеют значение, это одно действие, а значит, шаг.
Поэтому суждение взвешивает структуру против её стоимости. У каждого подпроцесса, который ты называешь, есть цена: это ещё одна вещь, которую нужно понимать, поддерживать и согласовывать с остальным, ещё одна названная часть на картине. Эту цену стоит платить, когда у куска есть настоящий поток: когда он может дать сбой на полпути и важно, как этот сбой обрабатывается, когда над ним стоит работать обособленно, владеть им отдельно или отгородить его. Её не стоит платить, когда кусок — это одно действие, переодетое потоком, когда его выделение добавляет на диаграмму коробку и ничего не добавляет к пониманию. Вопрос для каждого куска не в том, можно ли его разделить, а в том, нужно ли: оправдывает ли его внутреннее устройство стоимость того, чтобы его начертить?
И суждение работает в обе стороны. Кусок, который на первый взгляд выглядит одним действием, может скрывать поток, который стоит начертить, поток, на который никто не смотрел вблизи, потому что его всегда называли одним шагом. Проведение платежа можно было бы записать одним шагом («взять деньги»), пока не заметишь, что «взять деньги» на деле — это поток: принять данные платежа, запросить списание, обработать отказ, повторить, подтвердить, и между этими действиями идёт настоящая обработка. Этот поток был там всегда; если назвать его одним шагом, он не исчезнет, а только спрячется. Если выделить его как подпроцесс, которым он и является, скрытая структура становится видимой, а обработку можно спроектировать. Поэтому суждение смотрит в обе стороны: на кусок, который делает вид, что у него есть внутреннее устройство, которого нет, и на кусок, который прячет внутреннее устройство, которое есть.
Наивысший возможный стандарт — решать, суб это или шаг, по тому, стоит ли начертить внутреннее устройство, взвешивая настоящую структуру куска против стоимости его выделения, чтобы тривиальное внутреннее устройство оставалось шагом, скрытый поток выделялся как подпроцесс, которым он действительно является, и чтобы не добавлялась структура, которая не окупает себя, и не оставалась погребённой та, которую нужно видеть.
Ключевой вывод: Проверка не в том, есть ли у куска хоть какое-то внутреннее устройство, а в том, стоит ли его начертить. Почти что угодно можно разложить мелко, но тривиальное внутреннее устройство, начерченное как подпроцесс, добавляет структуру, которая не окупает себя: никому не нужно работать над ним, владеть им или видеть его обособленно, поэтому оно остаётся шагом. У каждого названного подпроцесса есть цена (ещё одна вещь, которую нужно понимать и поддерживать), и её стоит платить, когда у куска есть настоящий поток, когда он может дать сбой на полпути или когда над ним стоит работать, владеть им или отгородить его обособленно. Суждение работает в обе стороны: одно действие, переодетое потоком, остаётся шагом; скрытый поток внутри мнимого шага (с погребённой обработкой) выделяется как подпроцесс, которым он и является.
Решай, суб это или шаг, по тому, стоит ли начертить внутреннее устройство, а не по тому, существует ли оно: оставь тривиальное устройство шагом и выдели скрытый поток как подпроцесс, которым он действительно является.
MarvinPro · PROCESS · Вот Как Строить · Проектирование · Суб · Дисциплина 2: Суб или Шаг · Раздел: Ценность, а не только структура
MarvinPro | Октябрь 2026
marvinpro.com
Ошибиться в разрезе можно двумя способами, и они противоположны. Первый — резать слишком тонко: делать подпроцессы там, где хватило бы шагов, выделять тривиальное внутреннее устройство, дробить процесс на большее число названных частей, чем есть в работе. Это чрезмерное деление, и его итог — загромождение. Процесс, разрезанный слишком тонко, при всей своей видимой организованности читается хуже: взгляд теряется в толпе крошечных названных частей, каждая из которых — коробка, которую нужно открыть, и ни одну не стоит открывать. Структура, которая не окупает себя, не просто бесполезна; она активно мешает, погребая настоящую форму процесса под грудой делений, которые ничего не значат.
Второй — резать слишком грубо: оставлять шагом то, что на деле является потоком, сваливать несколько действий в одно мнимое действие, позволять подпроцессу прятаться внутри шага. Это недостаточное деление, и его итог — скрытая структура. Процесс, разрезанный слишком грубо, выглядит проще, чем он есть, и эта ложная простота — ловушка: ком, который называют одним шагом, на деле является потоком со своими ветвлениями и сбоями, и, поскольку его никогда не чертили, его никогда и не проектировали. Обработки, которую нужно было построить, нет, и не потому, что кто-то решил без неё обойтись, а потому, что структура, которая показала бы, что она нужна, так и не была выделена. Недостаточное деление не убирает сложность; оно её прячет, пока она не проявится в работе как то, что никто не спроектировал.
Поэтому дисциплина в том, чтобы резать с верной детальностью: достаточно тонко, чтобы каждый настоящий поток был начерчен как подпроцесс, которым он является, и достаточно грубо, чтобы ни одно отдельное действие не было переодето подпроцессом. И найти её помогают признаки. Кусок является подпроцессом, когда у него есть поток из нескольких действий, когда он может дать сбой на полпути и важно, как этот сбой обрабатывается, когда он используется повторно более чем в одном месте, когда им владеет или его выполняет отдельная команда внутри этого процесса, или когда над ним стоит работать, владеть им или отгородить его обособленно. Кусок является шагом, когда это одно действие, сделанное и переданное дальше, которое не может дать значимого сбоя на полпути и которое никому не нужно открывать, которым никому не нужно владеть и которое никому не нужно видеть обособленно. Это признаки, а не формула; решение по-прежнему за проектировщиком. Но если резать по ним и следить за обеими ошибками, детальность остаётся верной: ни загромождения тривиальными частями, ни кома с погребённой структурой.
Наивысший возможный стандарт — резать процесс с верной детальностью, не так тонко, чтобы он загромождался тривиальными подпроцессами, которые не окупают себя, и не так грубо, чтобы настоящие потоки оставались скрытыми внутри мнимых шагов, отличая подпроцесс от шага по признакам потока, сбоя, повторного использования, владения и необходимости работать над частью обособленно.
Ключевой вывод: Ошибиться в разрезе можно двумя противоположными способами. Слишком тонко (чрезмерное деление): подпроцессы там, где хватило бы шагов, тривиальное внутреннее устройство выделено, процесс загромождён крошечными частями, которые затемняют его настоящую форму. Слишком грубо (недостаточное деление): настоящий поток оставлен мнимым шагом, его структура скрыта, и обработки, которую нужно было построить, нет: от неё не отказались, её просто никогда не показали, и позже она проявляется как то, что никто не спроектировал. Поэтому режь с верной детальностью, руководствуясь признаками: у подпроцесса есть поток, он может дать сбой на полпути, используется повторно, находится во владении отдельно, или над ним стоит работать, владеть им или отгородить его обособленно; шаг — это одно действие, сделанное и переданное дальше, которое никому не нужно открывать, которым никому не нужно владеть и которое никому не нужно видеть обособленно.
Режь с верной детальностью: достаточно тонко, чтобы каждый настоящий поток был подпроцессом, и достаточно грубо, чтобы ни одно отдельное действие не было переодето подпроцессом, руководствуясь признаками, а не формулой.
MarvinPro · PROCESS · Вот Как Строить · Проектирование · Суб · Дисциплина 2: Суб или Шаг · Раздел: Слишком тонко и слишком грубо
MarvinPro | Октябрь 2026
marvinpro.com
Вернись к такту «активировать» основного процесса подписки на программу и сделай разрез, кусок за куском. Проведение платежа — подпроцесс. Загляни внутрь, и там настоящий поток: принять данные платежа, запросить списание, обработать отказ, повторить или подтвердить, и между этими действиями идёт обработка, которая имеет значение: платёж может дать сбой на полпути, и то, что происходит тогда, нужно спроектировать. Над ним стоит работать обособленно: человек, который исправляет логику повторных попыток, должен иметь возможность загрузить только эту часть, а не весь основной процесс подписки. Поэтому проведение платежа оправдывает то, что его чертят: это подпроцесс, и если выделить его как таковой, его поток становится видимым, а его сбои можно спроектировать.
Запись права — шаг. Как только учётная запись открыта, право записывается: значение внесено, флаг поднят, и программа может работать. Можно ли разложить это действие? Технически да: найти запись, записать значение, подтвердить запись. Но это внутреннее устройство не стоит чертить: оно не может дать значимого сбоя на полпути так, чтобы понадобилась собственная обработка, никому не нужно работать над ним обособленно, а если назвать его подпроцессом, на диаграмме появится коробка, а к пониманию ничего не добавится. Во всех отношениях, которые имеют значение, это одно действие. Поэтому оно остаётся шагом.
Теперь посмотри на обе ошибки на примере того же такта. Резать слишком тонко значило бы сделать запись права подпроцессом, а затем и три её воображаемые части тоже подпроцессами, пока «активировать» не превратится в чащу крошечных названных потоков, каждый из которых — коробка, которую нужно открыть, а настоящая форма активации теряется в загромождении. Резать слишком грубо значило бы назвать проведение платежа одним шагом («взять платёж») и спрятать его поток, а потом, когда платёж будет отклонён в реальной работе, не окажется ни начерченной структуры для повторной попытки, ни спроектированной обработки сбоя, потому что шаг, который на деле был потоком, так никто и не вскрыл. Верная детальность находится посередине: проведение платежа — подпроцесс, запись права — шаг, и активация делится на те части, из которых она действительно сделана, каждая выделена по тому, чем она является и что она позволяет тебе делать.
Проведение платежа — подпроцесс, настоящий поток, который может дать сбой и над которым стоит работать обособленно; запись права — шаг, одно действие, которое не стоит чертить; верная детальность — та, что соответствует работе.
MarvinPro · PROCESS · Вот Как Строить · Проектирование · Суб · Дисциплина 2: Суб или Шаг · Реальный пример
MarvinPro | Октябрь 2026
marvinpro.com
Когда процесс делится на части, первое решение для каждого куска — подпроцесс или шаг; это самый основной разрез, и из него следует всё остальное деление. Проверка — есть ли у куска внутреннее устройство, которое стоит начертить: одно действие, сделанное и переданное дальше, остаётся шагом; поток из нескольких действий, выполняющих связный кусок, становится подпроцессом. И этот разрез стоит делать хорошо из-за того, что даёт подпроцесс и чего не даёт шаг: возможность работать над одной частью обособленно (загружая только её, а не весь процесс) и отгородить её (владеть ею, менять её или показывать её только тем, кому она нужна, не открывая остального).
Проверка касается ценности, а не только структуры: не того, есть ли у куска хоть какое-то внутреннее устройство, а того, стоит ли его начертить. Почти что угодно можно разложить мелко, но тривиальное внутреннее устройство, начерченное как подпроцесс, добавляет структуру, которая не окупает себя: ещё одну часть, которую нужно понимать и поддерживать, при этом ничего не выиграно. Поэтому взвешивай внутреннее устройство против стоимости его выделения. И взвешивай в обе стороны: одно действие, переодетое потоком, остаётся шагом, а скрытый поток внутри мнимого шага, с погребённой обработкой, выделяется как подпроцесс, которым он действительно является.
Ошибка здесь имеет две противоположные формы. Слишком тонкий разрез, чрезмерное деление, загромождает процесс тривиальными подпроцессами, которые затемняют его настоящую форму. Слишком грубый разрез, недостаточное деление, оставляет настоящий поток скрытым внутри мнимого шага, и обработки, которую нужно было построить, нет: от неё не отказывались, её просто никогда не показали, и позже она проявляется как то, что никто не спроектировал. Поэтому режь с верной детальностью и руководствуйся признаками: кусок является подпроцессом, когда у него есть поток, когда он может дать сбой на полпути, используется повторно, находится во владении отдельно, или когда над ним стоит работать, владеть им или отгородить его обособленно; шагом, когда это одно действие, сделанное и переданное дальше, которое никому не нужно открывать, которым никому не нужно владеть и которое никому не нужно видеть обособленно.
Итак, дисциплина такова: для каждого куска процесса делай первый разрез на суб или шаг по тому, стоит ли начертить внутреннее устройство, взвешивая настоящую структуру против стоимости её выделения и следя за обеими ошибками: загромождением от слишком тонкого разреза и скрытым потоком от слишком грубого. Режь ради того, что даёт подпроцесс (часть, которую можно обрабатывать обособленно, которой можно владеть отдельно и которую можно отгородить), а не по привычке. Сделай это, и процесс разделится с верной детальностью на те части, из которых он действительно сделан, и каждая будет подпроцессом или шагом по веской причине. Это основа, на которой строится остальное деление: как резать каждую часть чисто.
Первый разрез — суб или шаг, по тому, стоит ли начертить внутреннее устройство; режь с верной детальностью ради того, что даёт суб, и процесс разделится на те части, из которых он действительно сделан.
MarvinPro · PROCESS · Вот Как Строить · Проектирование · Суб · Дисциплина 2: Суб или Шаг · Результат Главы
MarvinPro | Октябрь 2026
marvinpro.com
Думай Просто.