
archcheck — на страже архитектуры C++
blurman 25 минут назад archcheck — на страже архитектуры C++ Средний 11 мин 678 Софт Системы сборки * C++ * Кейс Циклы графа, копипаст, лишние флаги: архитектурный дрейф виден в вашем CI.Один PRНачну с конкретного...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: blurman 25 минут назад archcheck — на страже архитектуры C++ Средний 11 мин 678 Софт Системы сборки * C++ * Кейс Циклы графа, копипаст, лишние флаги: архитектурный дрейф виден в вашем CI. Один PRНачну с конкретного примера. В PrincetonUniversity/SPECFEMPP#943 Pull Request назывался Single include header for assembly module.
По описанию он должен был упростить зависимости в модуле assembly и разорвать циклические зависимости через forward declarations. По названию и описанию это правильное архитектурное изменение. После изменения в include graph появился новый цикл из 7 узлов.
Технические детали
Кейс с include cycle и почему обычный review его не видитКейс: как чистка include-зависимостей добавила новый циклВ PrincetonUniversity/SPECFEMPP#943 PR выглядел как чистка include-структуры:удалили узкий заголовок core/specfem/assembly_mesh. hpp;часть зависимостей заменили на forward declarations;properties_container. hpp разгрузили, вынеся реализацию конструктора в .
tpp;source/receiver-код перевели с specfem/assembly_mesh. hpp на общий specfem/assembly. До изменения source-заголовки включали маленький фасад:#include "specfem/assembly_mesh.
hpp" Этот фасад тянул только несколько assembly-заголовков:#include "assembly/element_types. hpp" #include "assembly/jacobian_matrix. hpp" #include "assembly/mesh.
Отраслевые последствия
hpp" После PR фасад удалили, а в нескольких местах поставили широкий umbrella-header:#include "specfem/assembly. hpp" Именно эта замена расширила include-зависимость. Было:source/* -> specfem/assembly_mesh.
hpp -> assembly/{mesh,jacobian_matrix,element_types} Стало:source/* -> specfem/assembly. hpp А внутри specfem/assembly. hpp уже был путь обратно в source:core/specfem/assembly.
hpp -> core/specfem/assembly/assembly. hpp -> include/source/interface. hpp -> include/source/cosserat_force_source.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.



