«Могу ли я программно очистить консоль в разделе« Сценарий или тест перед почтальоном »в Почтальоне?»
Еще нет, но он есть в списке желаний ...
https://github.com/postmanlabs/postman-app-support/issues/4690
Я пытаюсь организовать его, как будто у меня были неограниченная RAM и ROM, и это обычно удается прекрасный. Как упомянуто в другом месте, не пытайтесь оптимизировать его, пока Вы абсолютно не должны будете.
, Если можно получить совместимый по выводам процессор, который имеет больше ресурсов, лучше получить его работающий над этим, концентрируясь на хорошей структуре и расположении, затем оптимизировать для размера позже, когда Вы понимаете код лучше.
Кроме при исключительных обстоятельствах (см. примечание), организация из Вашего кода не окажет влияния на конечный продукт. (содержание кода является, очевидно, другим разговором)
Так с тем в памяти, необходимо организовать код, поскольку Вы были бы любой другой проект.
После этих слов следующее довольно типично:
, Если это - процессор, что Вы продолжили работать прежде, или будет продолжать работать в будущем, Вы будете обычно хотеть сохранить уровень абстракции выделенного оборудования, который может быть совместно использован проектами в будущем. Обычно этот модуль содержал бы объекты как стандартные программы для управления любым uarts, таймеры и т.д.
Обычно, разумно поддержать ряд платформы определенный код для инициализации и установки, которая выполняет всю конфигурацию и инициализацию до такой степени, когда, Ваш руководитель вступает во владение и запускает Ваше приложение. Это будет также включать платформу определенные hal стандартные программы.
руководитель/приложение, вероятно, сохраняется как отдельный модуль. Все аппаратные средства определенный код должны быть скрыты в hal (как упомянуто выше).
Путем разделения кода как это у Вас также есть опция компиляции и запуска Вашего приложения как моделирование, на совершенно другой платформе, только путем замены аппаратных средств определенный код стандартными программами, которые подражают аппаратным средствам. Это может быть хорошо для поблочного тестирования и отладки и алгоритмических проблем, которые Вы могли бы иметь.
<час>Исключительные обстоятельства, как мог бы быть наложен необычными ограничениями компилятора. например, я столкнулся с некоторыми компиляторами, которые ожидают, что все процедуры обработки прерывания будут скомпилированы в файле отдельного объекта.
Я записал и поддержал несколько встроенных продуктов (30 + и рассчитывающий) на разнообразии цели micros, включая MSP430. "Эмпирические правила", с которыми я был самым успешным:
Я работал с некоторыми датчиками как Небо Tmote, я также видел плохую организацию, и я должен признать, что способствовал ему. Так или иначе я сказал бы, что некоторый беспорядок должен быть, потому что загрузка слишком много модулей или слишком большого количества части программы будет (по моему скромному мнению), ресурсом, уничтожающим также, так попытайтесь знать о пороге между организацией и удобством использования на низких ресурсах.
, Очевидно, это не означает, позволяют главным администраторам начать, но например попытаться получить взгляд на организацию исходный код tinyOS и приложения, это - идея о том, что я пытаюсь сказать.
Я работал над 8-разрядными процессорами PIC с подобными ограничениями.
Одно ограничение, которое Вы не имеете, - то, сколько комментариев Вы делаете или что Вы принимаете решение назвать своими методами, переменными, и т.д. Воспользоваться преимуществом. Скорость и ограничения размера действительно иногда превосходят организацию, но можно всегда объяснять.
Другая подсказка должна разбить логический исходный файл еще в большее количество частей, чем Вы нуждаетесь, затем связываете их #include
луг их в единице компиляции. Это позволяет Вам иметь много повторно используемого кода (даже одна стандартная программа на файл), но объединение в любом порядке Вам нужно. Это полезно, например, при попытке встретить ограничения размера единицы компиляции или привередничать, в каких общих подпрограммах Вы нуждаетесь на следующем проекте.
Хотя это немного болезненно, один организационный метод, который несколько распространен со встроенными библиотеками C, состоит в том, чтобы разделить каждую функцию и переменную в отдельный исходный файл C, и затем агрегировать получающийся набор файлов O в файл библиотеки.
мотивация для того, чтобы сделать это - то, что для большинства нормальных компоновщиков единица связи является объектом для каждого объекта, Вы или получаете целый объект или ни один из него. С тех пор существуют отношения 1-1 между файлами C и объектными файлами, помещение каждого символа в своем собственном файле C дает каждый свой собственный объект. Это в свою очередь впускает получение по запросу компоновщика только, что подмножество функций и переменных, которые на самом деле используются.
Этот вид игры не помогает вообще для заголовков, которые им можно счастливо оставить как единственные файлы.