История изменений
Исправление Nervous, (текущая версия) :
Что у тебя происходит в коде я нипнимаю :3
Сейм щит. Я думаю, тут нужно начать с прозы. Записать тупа текстом, как рассказ:
- чего мы хотим добиться, какая цель у всего этого
- какие входные данные у нас есть
- что должно получиться на выходе
- условия и ограничения, которые надо соблюсти
Выделить из рассказа основные понятия — значения и сущности (как наборы атрибутов — пар ключ-значение), над которыми будем колдовать (существительные, например, «пользователь» с атрибутом «имя пользователя»; сообщение с атрибутами «автор сообщения», «текст сообщения», «хэш сообщения»; чат и т.д); это наши данные.
Выделить из рассказа отношения между значениями/сущностями (глаголы, например, пользователь отправляет сообщение, мы вычисляем хэш сообщения из его текста, имени автора и текущего времени и т.д.); это наши функции. Для каждой функции определить имя (понятное), входные параметры, возвращаемое значение. Функция должна делать что-то одно, если она делает несколько вещей, ее нужно распилить на несколько функций (например, если одна и та же функция форматирует текущее время, вычисляет хэш и отправляет сообщение, ее пора пилить).
Собрать из этих функций, оперирующих этими данными, нужный вычислительный процесс (скорее всего, еще одна функция, главная).
А то, что мы в процессе понаписали, будет зайчатком документации ко всему этому беспределу.
Исправление Nervous, :
Что у тебя происходит в коде я нипнимаю :3
Сейм щит. Я думаю, тут нужно начать с прозы. Записать тупа текстом, как рассказ:
- чего мы хотим добиться, какая цель у всего этого
- какие входные данные у нас есть
- что должно получиться на выходе
- условия и ограничения, которые надо соблюсти
Выделить из рассказа основные понятия — значения и сущности (как наборы атрибутов — пар ключ-значение), над которыми будем колдовать (существительные, например, «пользователь» с атрибутом «имя пользователя»; сообщение с атрибутами «автор сообщения», «текст сообщения», «хэш сообщения»; чат и т.д); это наши данные.
Выделить из рассказа отношения между значениями/сущностями (глаголы, например, пользователь отправляет сообщение, мы вычисляем хэш сообщения из его текста, имени автора и текущего времени и т.д.); это наши функции. Для каждой функции определить имя (понятное), входные параметры, возвращаемое значение. Функция должна делать что-то одно, если она делает несколько вещей, ее нужно распилить на несколько функций (например, если одна и та же функция форматирует текущее время, вычисляет хэш и отправляет сообщение, ее пора пилить).
Собрать из этих функций, оперирующих этими данными, нужный вычислительный процесс (скорее всего, еще одна функция, главная).
Исходная версия Nervous, :
Что у тебя происходит в коде я нипнимаю :3
Сейм щит. Я думаю, тут нужно начать с прозы. Записать тупа текстом, как рассказ:
- чего мы хотим добиться, какая цель у всего этого
- какие входные данные у нас есть
- что должно получиться на выходе
- условия и ограничения, которые надо соблюсти
Выделить из рассказа основные понятия — значения и сущности (как наборы атрибутов — пар ключ-значение), над которыми будем колдовать (существительные, например, «пользователь» с атрибутом «имя пользователя»; сообщение с атрибутами «автор сообщения», «текст сообщения», «хэш сообщения»; чат и т.д); это наши данные.
Выделить из рассказа отношения между значениями/сущностями (глаголы, например, пользователь отправляет сообщение, мы вычисляем хэш сообщения из его текста, имени автора и текущего времени и т.д.); это наши функции. Для каждой функции определить имя (понятное), входные параметры, возвращаемое значение.
Собрать из этих функций, оперирующих этими данными, нужный вычислительный процесс (скорее всего, еще одна функция, главная).