Source Code Landsacpe
So I was working with some source code for a 3D application. Using the usual game control scheme (wasd and mouse look) during the testing of the application and jumping right back into Visual Studio gave me an idea.
For one moment after the game to code transition I found my self wanting to zoom out of the code to get my bearings on the "code landscape". In fact I was a bit surprised and disappointed when my mouse wheel only scrolled the text up and down. Wow, code as a landscape!
Code has structure. It has a lot more structure than say, an article. The code generally has some local cohesiveness, meaning that the 5 lines above and below the current line will probably be related, either by being part of the same function or passably a related function.
Imagine being able to zoom out of our source code and seeing some kind of cohesiveness measure. The same function will be shades of brown. Functions that it calls will be tinted red, green and blue depending on the order they appear in the code. At a sufficient zoom level you will not be able to see the text, but that will be replaced by color and texture of the code. We humans are good at picking out those things and also to remember things spatially given those queues.
Maybe its worth exploring this idea.
For one moment after the game to code transition I found my self wanting to zoom out of the code to get my bearings on the "code landscape". In fact I was a bit surprised and disappointed when my mouse wheel only scrolled the text up and down. Wow, code as a landscape!
Code has structure. It has a lot more structure than say, an article. The code generally has some local cohesiveness, meaning that the 5 lines above and below the current line will probably be related, either by being part of the same function or passably a related function.
Imagine being able to zoom out of our source code and seeing some kind of cohesiveness measure. The same function will be shades of brown. Functions that it calls will be tinted red, green and blue depending on the order they appear in the code. At a sufficient zoom level you will not be able to see the text, but that will be replaced by color and texture of the code. We humans are good at picking out those things and also to remember things spatially given those queues.
Maybe its worth exploring this idea.
