Comment by WillMcCall
1 year ago
Great points/questions. I suspect that information relevant to codebase architectures follows the 80/20 principle. For example, a router and index file in a React App will usually give you around 80% of what's needed to infer high level container info.
In terms of generating architecture diagrams, we follow the c4 model, with top level nodes defined as separately deployable units of software, and lower level component nodes being a set of functions wrapped behind a common interface. As the product develops, we'd like to include a way for feedback/fine tuning, but ideally the definition of an architecture diagram would be rigorous enough that there is no ambiguity, this is what we're aiming for. If you'd like to try it out on a specific repo, you can always use our extension for further analysis.
You're right to notice the similarity with CodeSee. Ultimately we're looking to focus on improving the developer experience without needing to leave the IDE. The idea is that CodeViz can replace or augment search and directory tree by providing a more intuitive interface for navigation!
> If you'd like to try it out on a specific repo, you can always use our extension for further analysis.
VSCode extension marketplace doesn't have the best security rails or reputation for security, and with this being closed source, just personally, installing and running it on my machine isn't something I'm comfortable doing.
> The idea is that CodeViz can replace or augment search and directory tree by providing a more intuitive interface for navigation!
That to me is a different goal than the one in your post (maybe it's just phrasing or I didn't understand the OP correctly), and is something I'd be excited to have!
> ideally the definition of an architecture diagram would be rigorous enough that there is no ambiguity
Rigor is a big "if" in software ;). See: UML's attempt. C4 is some very loose guidelines. IIRC, a big part of its attraction is the lack of rigor/formal standards.
Anyway, best of luck! Feel free to reach out if you'd like to chat diagrams
Sounds good, thanks for the feedback! Would open-sourcing CodeViz change your willingness to give it a try?
Definitely agree that rigor is a tricky term here, do you think the open-ended nature of C4 diagrams is a feature, not a bug? We've found in practice that top level diagram generation is both an art and a science, maybe it ought to stay that way.
In any case, shooting you a PM to set up some time to chat, and thanks again for the input!
> Would open-sourcing CodeViz change your willingness to give it a try?
Yup. Or a web app that I can point to an open-source repo.
Regarding C4, I'm no expert. I know the guys at IcePanel, an earlier YC-cohort company (https://news.ycombinator.com/item?id=34338995) that specializes in C4 diagrams, and they're very friendly, so if you haven't yet, they'll be much more equipped to chime in on C4 stuff.