Немного о формализме

Собственно, даже при первом знакомстве с Zope, Plone заметен формальный подход к разработке. Автор: Киреев Виталий

Формализм - часто употребляемый в университетской среде термин. Тот, кто был студентом, аспирантом или преподавателем, хорошо знает, что разработка чего-либо должна основываться на формальной модели, то есть подкреплена формулами, аксиомами и строиться на конкретной теории. Будь то простая программа типа hello,world или среда для разработки системы управления контентом - должна основываться на уже существующих технологиях и опираться на теорию и проверенную временем практику.

Система без формального обоснования - либо очень проста, либо лишена будущего. Такую систему, если она достаточно сложна, очень трудно модифицировать и тем более понять, в ней постоянно находятся недочеты и просчеты (баги).

Zope - Объектно-ориентированная среда разработки. Тут тебе и наследование, и инкапсуляция... А Workflow один чего стоит?! Это, не побоюсь этого слова, автоматная модель! Тут и состояния, и переходы, и входные/выходные сигналы...

Я не говорю уже о Plone...

Разработка без формализма - не больше инженерного решения, тогда как с ним - полноценный научный труд!

Так что, при любой разработке нельзя как можно быстрей садиться за клавиатуру и настукивать побольше кода. Вначале нужно формально представить все, что необходимо, как можно больше использовать схем (для наглядности). И уже потом шаг за шагом воплощать свои задумки в программный код.

И я убежден, такой подход будет:

  1. более надежен;
  2. содержать намного меньше ошибок;
  3. доступен для понимания другими людьми;
  4. легко масштабируемым;
  5. иметь высокие шансы на успех и всеобщее признание.

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

Публикуется с разрешения автора:
Vitaly Kireev
vitaly80@ya.ru