WHAT?
See the architecture of any codebase!
Codeface visualizes the internal composition, dependencies and quality metrics of code to help you understand, improve and monitor it.
Currently supported languages: Python, Rust, Swift, Kotlin, Dart (more to come)
Codeface is still at an early stage of a future vision. Today it allows you to:
* See the hierarchical composition of any scope within your codebase
* See the essential dependencies between structural elements on every level: folders, files and code symbols
* See cyclic dependencies (in red) and where they are (artifacts with red borders)
* See the size (lines of code) of each structural element – by visual size as well as by number
* Inspect scopes at all levels – from folders down to properties (thanks to semantic zoom)
* Read the whole codebase along its control flow – from big picture to details (thanks to an optimized topological order, dependencies go mostly downwards and to the right)
* Filter all visualizations by a search term
* Open and codebase files from previous Codeface versions.
WHY?
* Being able to switch from reading code to seeing architecture helps making better software faster.
* You understand legacy code, notice red flags, accelerate onboarding, automate documentation, anchor discussions and simply have fun.
* We love software architecture since 1993 and know how communication and quality require visualisation.
THE FUTURE:
* This journey is just beginning. There are loads of ideas and development directions to evolve Codeface.
* Imagine dependency drill down, architectural suggestions, more layouts and metrics, real-time updates, a web dashboard and more.
* Be part of the journey and shape Codeface with your own big ideas and feedback: hello@codeface.io
DISCLAIMER: We made a technology switch away from LSP servers, so you don't have to worry about setting them up anymore. The new approach is not perfect yet at detecting all dependencies, but that is evolving quickly and verified by countless automatic tests.
Terms of Use: https://www.apple.com/legal/macapps/stdeula
This app hasn’t received enough ratings or reviews to display an overview.
Promising, but not there yet
DevDude3000
This is a very promising utility that stands to fill an important need -- visualizing large codebases at a higher level of abstraction.It's not there yet -- a number of usability issues (too numerous to mention here).If I were the developer, I'd do some Usability testing. Get a few developers on a screenshare, and watch and listen to them as they attempt to use it for the first time, and figure out what to do.That'd be very revealing. And resisting the temptation to help them out along the way. Watching them struggle to do simple things would form an excellent "to do" list for the next version(s) of the app.Big thanks to Sebastian for all the effort so far. We'll be keeping an eye on this, to see how it develops.
Developer Response
Hey DevDude3000, thanks for your feedback!I’m really sorry the setup is still that difficult :( It always helps to have an account of the specific issues users run into! So feel free to send an email to hello @ codeface.io.Anyways, I totally get where you and other users are coming from. Virtually all these usability challenges root in technical hurdles, and I’m working on overcoming them to make everything easier.I’m also preparing a way to configure LSP servers directly in Codeface without LSPService, which is far from trivial for apps in the App Store, so it will take some time to get working.Of course, this also means that significant new features are all on hold.
Features
- Navigate into code artifacts by clicking them
- Navigate back out with Esc or via toolbar button
- Navigating into- and out of code artifacts is animated with a zoom-like transition
- Correct relayout animations are now the default, since their performance is now fast and independent of codebase size; no more menu option to toggle animation correctness
- Relayout does not happen automatically unless activated via the View menu, so that toggling navigator or interfere with the current layout
- A toolbar button allows updating the layout to the current view size (like after window resize or navigator toggle); the button is enabled when the layout is outdated for the current view size
- Inspecting code artifacts and their dependencies by mouse hovering is a dedicated display mode selectable in the toolbar or temporarily activated by holding the Option key; it also dims down other elements so dependencies become even clearer
- Indication of cyclic content via code artifact border color uses clearer color separation via distinct colors, consistent with other color codes in the app
- Dependency arrows indicate dependency strength (number of code-level references) by their thickness; arrows are also visually more prominent and simple
- Code artifact siblings (those in the same scope) have consistent title sizes
- Code symbol artifacts (those within files) all use the same code symbol (instead of the capital letters signifying Xcode-style symbol types)
- The UI of the codebase visualization is generally refined to be calmer and clearer
- New windows show a welcome screen with options for directly loading a codebase
- The search filter field has moved to the toolbar
Bug Fixes
- Layout succeeds for all types of code in all normal view sizes; no more "Couldn't find layout for view size" type of screens
- Multi-window use is more reliable
Performance
- Visualization layout engine runs in the background and never blocks the UI anymore; this scales better to large codebases
- Codebase folders load faster
Version 1.7.0
The developer, Sebastian Fichtner, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .
Data Not Collected
The developer does not collect any data from this app.
Privacy practices may vary, for example, based on the features you use or your age. Learn More
Accessibility
The developer has not yet indicated which accessibility features this app supports. Learn More