Как организовать мой код c - PullRequest
       1

Как организовать мой код c

9 голосов
/ 05 сентября 2010

У меня большой основной файл содержит около 7000 строк кода на Си. Если я хочу сделать этот код модульным и отделить код от этого файла. каковы основные критерии разделения функций из файла и функций, которые должны оставаться в файле.

Ответы [ 3 ]

6 голосов
/ 05 сентября 2010
  • Следуйте предыдущим предложениям.
  • Удалите любой дублированный или почти дублированный код, создав функции.
  • Упорядочите по функциональности и зависимости.Модули должны иметь как можно меньшую взаимозависимость.
  • Следуйте Принципам SOLID и другим шаблонам и методам проектирования (все из которых могут быть реализованы в некоторой степени в C).

Мне нравится использовать декомпозицию кода сверху вниз.Например:

main()
{
    Initialize();
    Introduce();
    while (some_condition)
    {
        DoSomething();
        DoSomethingElse();
    }
    SayGoodbye();
    Shutdown();
}

main() должен быть коротким и конкретным и дать вам быстрый обзор того, что программа делает с высокого уровня.Каждая из этих функций может быть разбита аналогичным образом.Это должно продолжаться до тех пор, пока функции самого низкого уровня не будут иметь единую целевую цель (логическая модульность).Эти функции можно поместить в дополнительные файлы .c / .h, чтобы иметь физическую модульность.

Удачи!

6 голосов
/ 05 сентября 2010

Разбейте по функциям / ответственности.

Например, поместите всю обработку строк в один модуль / файл, поместите обработку файлов в другой.

4 голосов
/ 05 сентября 2010

Это простая мера: чем меньше у вас объявлений в файле .h, тем более модульным оно является.Группировка по функциональности важна.Наличие extern объявлений очень плохо, дайте им дополнительный «штраф».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...