Программистская запись

Apr 04, 2008 18:36

И все-таки я все больше прихожу к мысли, что, например, если исходный код занимает примерно уже 10 MB, то структурный подход к программированию должен отправляться в топку. Однако же это, к сожалению, происходит не всегда...

brainfuck, работа, программирование, лытдыбр

Leave a comment

Comments 15

thesz April 4 2008, 14:52:08 UTC
А какой должен быть использован?

Reply

__zauberer__ April 4 2008, 16:50:24 UTC
Ну хотя бы объектино-ориентированный. А то намешали 10 MB функций, в которых голову сломать можно...
Это я еще забыл сказать про огромное количество глобальных переменных, которые тоже добавляют головной боли.

Reply


rexy_craxy April 4 2008, 15:08:59 UTC
Модули и интерфейсы, модули и интерфейсы :)

Reply

__zauberer__ April 4 2008, 16:52:35 UTC
Ну это PalmOS. Там лишь функции и функции. Ну и еще глобальных переменных куча.
Вообще-то даже из того API, что есть можно было написать лучше, но фиг. Меня вообще изначально довольно сильно удивило то, что в программе на С++ так мало описано классов, а глобальных функций просто дофига.

Reply

rexy_craxy April 4 2008, 18:00:47 UTC
А какие там есть механизмы IPC?

Reply

__zauberer__ April 4 2008, 18:32:05 UTC
Если Вы имеете в виду "Inter-process communication", то в принципе никаких механизмов нет. По той простой причине, что PalmOS - однозадачная система. Максимум, что можно, - это вызвать одну программу из другой, которая в свою очередь завершается (или получает некоторую информацию из запущенной программы и продолжает выполняться). При этом при вызове программы можно задать код запуска и передать еще какой-то код (сейчас уж лень вспоминать, как он называется).

Reply


moonwalker72 April 4 2008, 17:40:42 UTC
Если код грамотно спроектирован, то и 11 миллионов строк примерно на чистом С вполне воспринимаемы (сужу по собственному опыту). Разумеется, не вдруг и сразу, а так что поддается осмыслению и ошибки в нем искать можно.

Reply

__zauberer__ April 4 2008, 18:25:09 UTC
Ну может, спроектировано и почти грамотно было. Но сам подход мне представляется убогим. Как бы в этом и суть. Понять этот код можно, конечно, но ничего приятного в этом нет.

Reply

moonwalker72 April 4 2008, 18:41:11 UTC
10 Мб исходников это одно приложение? Приведенный мной пример (там было около 140 Мб исходников) содержал примерно с три десятка проектов -- компонент системы. Идея в том, что операции нижнего уровня крайне примитивны, до тупости (линейный код даже почти что без условных операторов). Т.е. функциональная декомпозиция там весьма правильно была сделана.

Однозадачные системы это жесть. :-) Я программировал устройство с такой системой (даже скорее, просто монитором).

Reply

__zauberer__ April 4 2008, 23:33:21 UTC
Там одно приложение. По сути органайзер, но довольно-таки навороченный, т. е. функциональности много. Основная проблема в том, что во-первых, это первый мой проект на PalmOS, времени на ее изучение мне фактически не давалось, все осваивается в процессе исправления багов и реализации новых фич. Ну и при этом конечно структура программы сложная для восприятия. Нет, сама по себе она примитивна в принципе, но так как кода много, то, если исправил чего-то в понедельник и нужно к этому возвратиться в пятницу, то приходится некоторое время потратить просто на вспоминание того, где и что модифицировалось. Возможно, просто нет опыта ориентирования в таком коде. Ну плюс еще и среда разработки не очень удобная.

Reply


Leave a comment

Up