Есть два вида обучения: 1 - Обучил и давай, до свиданья ("до свиданья" – разговорная форма, лучше "до свидания"). 2 - Обучил, а если обученный не сделает, то делать будешь ты .
Как бы обучал созданию информационных систем ленивый разработчик, создавший не одну информационную систему, если он во второй позиции:
Информационная система – это программа, это код.
Как ни крути, нужен код, хотя заказчик может считать, что ему нужна некая работающая система, но получит код.
И код ему нужен такой, чтобы легко изменять поведение программы.
Чтобы изменять код, нужна документация на код. Как показывает практика, код без документации выбрасывается, новые разработчики говорят: "Нам проще и лучше переписать всё с начала!".
Большинство создают документацию на код отдельно от кода, документация, отдельная от кода, становится не изоморфной коду, документация выбрасывается вместе с деньгами и временем, затраченными на её создание.
Заказчикам, особенно военным, интересно – как, не понимая код, убедиться, что код делает то, что в ТЗ.
Нужна абстракция между кодом и ТЗ.
На самом деле, заказчикам, пользователям сам код не нужен, им нужна программа, работающая так, как они ожидают. Одной из таких абстракций является представление поведения программы, которая генерирует код.
Заказчикам, пользователям, разработчикам нужно одно место (абстракция), которую все они понимают, могут изменять поведение программы, причём "правильность" изменений будет контролировать само это место. Заказчики и пользователи, нечаянно, становятся разработчиками, потому что код напрямую исправлять в IDE можно, но зря – он сгенерируется заново при следующем изменении.
Да, это место замешано на математике, информатике, эргономике.
data class CategoryOrFeatureOrEndElement(
val categoryId: Int,
val categoryName: String? = null,
val featureId: Int ? = null,
val featureTitle: String? = null,
var featureValue: Int ? = null
)
// Вместо
data class CategoryOrFeatureOrEndElement(
val categoryId: Int,
val categoryName: String? = null,
val featureId: Int? = null,
val featureTitle: String? = null,
var featureValue: Int? = null
)
Для устранения возможности возникновения непредусмотренных состояний в программе следует на этапе проектирования явно определить все требуемые состояния и применять для их различения только одну многозначную управляющую переменную. 12
После этого необходимо явно определить все возможные переходы между состояниями и построить программу так, чтобы она не могла сойти с проложенных «рельсов»
Есть два вида обучения:
1 - Обучил и давай, до свиданья ("до свиданья" – разговорная форма, лучше "до свидания").
2 - Обучил, а если обученный не сделает, то делать будешь ты .
Как бы обучал созданию информационных систем ленивый разработчик, создавший не одну информационную систему, если он во второй позиции:
Информационная система – это программа, это код.
Как ни крути, нужен код, хотя заказчик может считать, что ему нужна некая работающая система, но получит код.
И код ему нужен такой, чтобы легко изменять поведение программы.
Чтобы изменять код, нужна документация на код.
Как показывает практика, код без документации выбрасывается, новые разработчики говорят: "Нам проще и лучше переписать всё с начала!".
Большинство создают документацию на код отдельно от кода, документация, отдельная от кода, становится не изоморфной коду, документация выбрасывается вместе с деньгами и временем, затраченными на её создание.
Заказчикам, особенно военным, интересно – как, не понимая код, убедиться, что код делает то, что в ТЗ.
Нужна абстракция между кодом и ТЗ.
На самом деле, заказчикам, пользователям сам код не нужен, им нужна программа, работающая так, как они ожидают.
Одной из таких абстракций является представление поведения программы, которая генерирует код.
Заказчикам, пользователям, разработчикам нужно одно место (абстракция), которую все они понимают, могут изменять поведение программы, причём "правильность" изменений будет контролировать само это место.
Заказчики и пользователи, нечаянно, становятся разработчиками, потому что код напрямую исправлять в IDE можно, но зря – он сгенерируется заново при следующем изменении.
Да, это место замешано на математике, информатике, эргономике.
Trae - IDE клон VS Code с возможностью использовать разные нейросети.
Все возможные миры
Мария, Светлана, Ирина.
Каждая может быть либо замужем, либо нет.
Всего получается 8 возможных комбинаций семейного положения:
Применяем первую посылку: "Мария замужем"
Применяем вторую посылку: "Ирина не замужем"
Мир 2:
Светлана (замужем) смотрит на Ирину (не замужем)
Мир 4:
Мария (замужем) смотрит на Светлану (не замужем)
Такого нет.
Везёт же людям - есть время в игры играть.
Интересный эффект - после прочтения статей про улучшение зрения, зрение кратковременно улучшается.
Продаю 40" монитор на запчасти: https://www.avito.ru/tambov/tovary_dlya_kompyutera/40_monitor_titan_army_p40ug_4858386999
Самоспасатель изолирующий противопожарный СИП-1М в сумке с ремнем
В видео "Математическое понимание красоты" Михаил Арест рассуждает об ООП на математическом.
Некоторым материалы Ареста откроют математику с интересных сторон.
Исследовали ли Вы труды:
Кузнецова Побиска,
Шалыто Анатолия,
Паронджанова Владимира ?
Вроде у математика есть могущество математики, а у начальника лишь должность.
Но многим понятно кто там папа.
Кто ясно мыслит, тот ясно излагает.
Изложено ясно, полезно, спасибо.
Не нужно улучшать Дага, есть шанс испортить :-)
На анимации с пилкой, кот точит не когти.
Следующая абстракция работы с кодом - кодогенерация из схем.
Нестрёмные не дожили до 2024
Придерживаюсь позиции Шалыто А.А.
Для устранения возможности возникновения непредусмотренных состояний в программе следует на этапе проектирования явно определить все требуемые состояния и применять для их различения только одну многозначную управляющую переменную. 12
После этого необходимо явно определить все возможные переходы между состояниями и построить программу так, чтобы она не могла сойти с проложенных «рельсов»
Можно скачать надстройку для Excel - нужно открыть два листа и нажать кнопку - она сама поймёт что сравнивать https://www.youtube.com/watch?v=J4ligSxRFxs
Был период, когда был связан со сравнением изменений в прайсах.
Сделал надстройку для Excel https://www.youtube.com/watch?v=J4ligSxRFxs.
Можно скачать.
Сбер понял выгоды визуального программирвоания https://rutube.ru/video/be9a20475ea3d49f77559f9e4a3ffe2a/
Развил тему