Информация об изменениях

Сообщение Re[2]: Философские категории от 15.03.2024 15:21

Изменено 15.03.2024 16:58 Silver_S

Re[2]: Философские категории
Попытка максимально кратко перечислить основное, что имеет отношение к разработке. Ничего не потерялось?

I. Абстракции/Категории/Принципы.

  • Простота.
  • Противоречия. (Разрешение противоречий. Поиск компромиссов)

  • Изменяемость.

  • Повторная используемость.
  • Абстрактность.
  • Полнота.

  • Декомпозиция.
  • Классификация/группирование/кластеризация/cohesion.
  • Инкапсуляция. (простой маленький интерфейс к сложной громоздкой реализации)

  • Ограничения. Автоматическая защита от ошибок. (Например, типизация отлавливает ошибки во время компиляции.)
  • Availability. Диагностируемость. Читабельность.
    (Или как это назвать?). Возможность найти нужную часть кода, ошибку. Скорость навигации по коду. Самодокументирование. Возможность подсмотреть через Debugger, что происходит внутри.

II. Субъекты. Объекты.

  • Разработчики.
  • Инструменты:
    . . — Знания. Науки (физика, математика, ...)
    . . — ЯП
    . . — Средства разработки
  • Сторонние библиотеки.

  • Код разрабатываемой системы.
  • Функциональность системы, требования (независимо от того какой код, ЯП, ...).
  • Эффективность, производительность системы. (или это не здесь должно быть?)

  • Пользователь. Тестировщик. Заказчик.

III. Действия

Операции с кодом (низкоуровневые/"тактические" действия):
  • Изучение кода.
  • Поиск. Локализация нужного функционала в коде.
  • Добавление кода, почти не меняя существующий. Либо написание с нуля.
  • Изменение. Добавление функционала, когда требуются изменения в многих местах.
  • Breaking changes. Изменения в критической части кода, от которой много зависит(на которую много ссылок). Где-то может что-то отвалиться.
  • Рефакторинг
  • Поиск/отладка ошибок.
  • Тестирование
  • Документирование.

Жизненный цикл разработки (высокоуровневые/"стратегические" действия):
  • Прогнозирование. Анализ, составление требований к продукту.
  • Исследования. Эксперименты. Proof of concept.
  • Планирование.
  • Проектирование и дизайн.
  • Разработка.
  • Тестирование.
  • Развертывание, эксплуатация, поддержка.
Re[2]: Философские категории
Попытка максимально кратко перечислить основное, что имеет отношение к разработке. Ничего не потерялось?

I. Абстракции/Категории/Принципы.

  • Простота.
  • Противоречия. (Разрешение противоречий. Поиск компромиссов)

  • Изменяемость.

  • Повторная используемость.
  • Абстрактность. (Обобщения и конкретизации)
  • Полнота.

  • Декомпозиция. (и композиция)
  • Классификация/группирование/кластеризация/cohesion.
  • Инкапсуляция. (простой маленький интерфейс к сложной громоздкой реализации)

  • Ограничения. Автоматическая защита от ошибок. (Например, типизация отлавливает ошибки во время компиляции.)
  • Availability. Диагностируемость. Читабельность.
    (Или как это назвать?). Возможность найти нужную часть кода, ошибку. Скорость навигации по коду. Самодокументирование. Возможность подсмотреть через Debugger, что происходит внутри.

II. Субъекты. Объекты.

  • Разработчики.
  • Инструменты:
    . . — Знания. Науки (физика, математика, ...)
    . . — ЯП
    . . — Средства разработки
  • Сторонние библиотеки.

  • Код разрабатываемой системы.
  • Функциональность системы, требования (независимо от того какой код, ЯП, ...).
  • Эффективность, производительность системы. (или это не здесь должно быть?)

  • Пользователь. Тестировщик. Заказчик.

III. Действия

Операции с кодом (низкоуровневые/"тактические" действия):
  • Изучение кода.
  • Поиск. Локализация нужного функционала в коде.
  • Добавление кода, почти не меняя существующий. Либо написание с нуля.
  • Изменение. Добавление функционала, когда требуются изменения в многих местах.
  • Breaking changes. Изменения в критической части кода, от которой много зависит(на которую много ссылок). Где-то может что-то отвалиться.
  • Рефакторинг
  • Поиск/отладка ошибок.
  • Тестирование
  • Документирование.

Жизненный цикл разработки (высокоуровневые/"стратегические" действия):
  • Прогнозирование. Анализ, составление требований к продукту.
  • Исследования. Эксперименты. Proof of concept.
  • Планирование.
  • Проектирование и дизайн.
  • Разработка.
  • Тестирование.
  • Развертывание, эксплуатация, поддержка.