Кто чем упорядочивает большие куски кода

Тема в разделе "WASM.ZEN", создана пользователем k3rnl, 12 фев 2024.

  1. k3rnl

    k3rnl Member

    Публикаций:
    0
    Регистрация:
    28 янв 2021
    Сообщения:
    41
    Когда пишешь большой проект (тысячи и десятки тысяч строк кода), а если он ещё и с GUI, то невольно начинаешь теряться в своём же коде.
    К тому же, если по каким-то причинам некоторое время не садился за код, и когда возвращаешься к проекту, то приходится в буквальном смысле вспоминать где и что находится.
    Я конечно же не пишу код бездумно, а пытаюсь создать некую архитектуру, расширяю прототипы функций и т.д., чтобы было всё разложено по своим полочкам. Но даже это не спасает от последующего переполнения.

    Собственно как и чем вы систематизируете свой код? Какое-либо ПО, или может интересный личный подход. Было бы интересно узнать у наших формучан.
     
    UbIvItS нравится это.
  2. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    389
    структурирование модулей -
    четкая иерархия папок-подпапок-файлов внутри
    имя дожно точно и четко отображать суть что внутри каждого уровня иерархии,

    много зависит от используемо ЯК
    ежели например python - тогда можно и надо разбивать на пакеты, и тд и тп

    PS
    Не думаю, что есть ПО, которому на вход дашь 100500 файлов а на выходе получишь конфетку

    PPS сколько в среднем строк кода в день удается создать?
     
  3. k3rnl

    k3rnl Member

    Публикаций:
    0
    Регистрация:
    28 янв 2021
    Сообщения:
    41
    Данный проект пишу на Си, что сразу откидывает шаблоны, классы и усложняет/увеличивает код. Можно конечно на коленке собрать что-то похожее, но это опять же лишний код, его расширения..

    Четкое именование я всегда делаю - переменные, функции, файлы, папки и т.д. Без этого вообще чёрт ногу сломит)

    По разному. Бывает целый модуль напишу (600-700 строк за день с проверкой и отладкой), а иногда прям вообще не идёт.
     
  4. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.973
    Вспоминать в любом случае придется и комментарии с этим не помогают. Была идея разработать свою собственную феню, которой можно упаковать мысль в одну короткую строчку, но не очень в этом направлении продвинулся. Обычно контрол-эфом в больших исходниках ориентируюсь. Если код твой собственный, то разбираться в нем легко.
     
    k3rnl нравится это.
  5. k3rnl

    k3rnl Member

    Публикаций:
    0
    Регистрация:
    28 янв 2021
    Сообщения:
    41
    Я кстати тоже ищу универсальный способ инициализировать большой куст кода чем-то простым.

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

    Но когда начинаю увеличивать функционал, вот тут и происходит хаос.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.295
    Ну для GUI Цэ - не то, чтобы хороший выбор. Поставь себе хорошую IDE с хорошим интеллисенсом, для каждой процедуры пиши комменты в doxygen стиле, чтобы IDE тебе их парсила и подсвечивала, когда код компишен выводит. Генерируй документацию из комментов.
     
    k3rnl нравится это.
  7. Research

    Research Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    90
    Сделал свой фреймворк в одном файле, и подключаю его во все проекты

    Этот файл кочует от проекта к проекту. Если надо найти все свои проекты,
    скажем за последние 3 года, просто ищешь этот файл по имени и выводит
    проекты в тех директориях, где макар своих телят не гонял
     
    Последнее редактирование: 12 фев 2024
  8. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.207
    сишка наоборот упрощает код :) а ориентироваться можно двумя путями..

    1. поиск нужных функций реджексами а-ля grep -Ei "fn\scount_strs" -R /prj/..
    2. отладчик показывает стек вызовов, тч можно более-менее воткнуть общую логику.
     
    k3rnl нравится это.
  9. CaptainObvious

    CaptainObvious Member

    Публикаций:
    0
    Регистрация:
    18 янв 2024
    Сообщения:
    64
    Вангую, что проблема читабельности в этом
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.207
    самое смешное, когда знаешь что и акь написать, а смотреть на эту хрень ужо силов няма :)
     
    k3rnl нравится это.
  11. Research

    Research Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    90
    Самое смешное когда переписываешь код который считал идеальным,
    и через полгода внезапно обнаруживаешь что там полная ебанина :)
     
    k3rnl нравится это.
  12. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    389
    Не ет самый, считаю, хороший признак роста и зрелости программиста....
     
    k3rnl нравится это.
  13. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.207
    а тут просто изначально надо помнить, что пишешь говно и тогда всегда легче: любой код является говном даже самый идеальный, пч всегда приходится идти на некий набор компромиссов - абсолютный идеал пишут лишь любующиеся абстракциями, кому не нужен отладчик :)
     
    k3rnl нравится это.
  14. CaptainObvious

    CaptainObvious Member

    Публикаций:
    0
    Регистрация:
    18 янв 2024
    Сообщения:
    64
    UbIvItS, когда на python'е код пишешь тоже отладчик нужен?
     
    Последнее редактирование: 15 фев 2024
  15. Research

    Research Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    90
    Бред)
     
  16. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    269
    cppdepend2024.1 использую

    кому нужен кряк можете в лс отписать
     
    k3rnl нравится это.
  17. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.207
    pdb
    есть такая вещь - угол зрения: одно и то же хорошо в одном и полное ховнище в другом. к примеру, макларен хорош на гоночных трассах и полное ховнище для вывоза картохи с полей. а с кодами ситуация и того хуже :)
     
  18. Research

    Research Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    90
    UbIvItS, каким образом этот бред соотносится с углом/точкой зрения?
     
  19. CaptainObvious

    CaptainObvious Member

    Публикаций:
    0
    Регистрация:
    18 янв 2024
    Сообщения:
    64
    Почему ховнище, очень даже хорош - для людей которые ценят свое время - быстрый вывоз картохи.
    Можно строительный мусор вывозить
     
    Последнее редактирование: 28 фев 2024
  20. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.207
    если к полям есть хорошая трасса, то теоретически - ДА.. но практически - не справишься с управлением (слишком быстро зараза скорость набирает) :)
    софтина делается по гораздо более мягким стандартам, чем инженерные разработки/ Поэтому твой код неминуемо наследует хофнище используемых либ + твоё хофнище.. да, и software == хофнище мягкое :grin: