bobluppes / bobluppes/graaf

Reconsider scope of built-in serialization (io::to_dot)

未關閉
#351 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
question
主要語言
C++
星號
413
分支
67
平均合併
7 小時 24 分鐘
30 天內合併 PR
53

描述

Graaf is positioned as a lightweight, high-performance graph library, but it also ships \`io::to_dot\` -- a DOT/Graphviz string serializer. That's a different kind of concern from \"fast graph data structure + algorithms,\" and I've been going back and forth on whether it belongs in core long-term.

To be clear on the actual coupling: \`io/dot.h\` is already a separate, opt-in header -- \`graph.h\` doesn't include it, so anyone not using serialization doesn't pay for it today. This is more a question of scope/positioning than a technical problem.

Options worth weighing:
- Keep it as-is (opt-in header, no real cost to not using it).
- Move it to a separate package/repo, keeping Graaf itself narrowly focused on the data structure and algorithms.
- Something in between (e.g. keep it, but stop adding features to it).

No decision made yet -- opening this mainly to think out loud and leave a paper trail before it comes up again (e.g. #301). Feedback welcome.

貢獻指南

開啟貢獻指南

研究方向

The issue is about the architectural scope of the library, specifically the io::to_dot serializer in io/dot.h. First, understand how the library is structured by reading graph.h and io/dot.h. Review the discussion in issue #301 for context. The goal is to evaluate the coupling and propose a decision on whether to keep, move, or limit the serializer, not to implement a code change.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
cpp
領域
tooling
Issue 類型
重構
難度
4/5
預估耗時
3-5 天
活躍度
活躍
描述清晰度
描述清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。