2010-03-15 84 views
29

我读过this question提及Code Bubbles我观看了他们的视频演示。你会使用代码气泡吗?

该视频令人印象深刻,似乎有点未来派,但显然它有点真实。

但是这让我想...开发人员真的会使用这样的工具吗?

我们作为开发人员,用于处理代码文件,以某种方式在目录中组织它们,以及一些常见的IDE(对于那些具有它们的语言)。

像他们提出的那样,使用类似Code Bubbles的代码将是一个很大的飞跃。

我个人不确定自己能不能在这样的环境下工作......虽然我认为我只需要进行一些调整......但我真的没有看到我的想法解决了这个问题。

你对此有何看法?

+1

任何想法,我现在可以得到我的手?它看起来像世界上最好的事情,我需要做:)(Android开发) – Steve 2010-03-23 11:47:27

+0

@steve http://www.cs.brown.edu/people/acb/codebubbles_beta_signup.htm – zildjohn01 2010-05-07 01:30:10

+0

啊谢谢zild - 我发现它几个星期前。发了一些邮件,但没有回应:)耻辱!在imac上会很棒。 – Steve 2010-05-09 17:20:24

回答

17

对于像C#和Java这样的代码文件和块(方法等)的实际组织非常僵化的语言(在Java中甚至比C#更加如此),那么提供代码的新颖“视图”的东西可能可能工作。您可以允许该工具按照每个文件一个类来组织您的代码,按可见性排序的方法或您想要的任何编码标准,并且该工具可以处理所有这些,以便有人可以继续前进并查看“raw “文件并理解这一切。

这将是像C语言的问题++,你基本上可以做任何你喜欢...

3

真正的程序员使用文本编辑器。 :)

没有认真,我喜欢代码气泡,但它需要比新的GUI更多的切换。

将代码气泡链接在一起并将它们作为一组移动的想法似乎有点愚蠢,并且在大多数实际情况下可能没有用处。

然而,我认为所有的程序员都能很好地以图形方式看到他们的应用程序在屏幕上占用空间,而不是占用文件中行(不太明显)的空间。对于这一点,我认为它作为演示工具很有用,如果不是编程环境。

+3

“我认为这是一个有用的演示工具”:代码审查浮现在脑海。 – Thilo 2010-03-15 04:06:03

+1

这是我第一次看到它。 – 2010-03-16 02:08:30

+0

“真正的程序员使用文本编辑器”这仍然是真的吗? – fastcodejava 2010-06-17 02:29:58

0

我可以看到自己想在这样的环境中工作,因为我总是发展使用我的IDE,一些我桌上的文件和一些不同的记事本/ vim打开了不同的片段和不同部分代码/软件的想法。我并不是说界面必须像Code Bubbles那样易于使用,但是可以实现这个想法。

...但我需要真正地测试它,并感受它。我认为Bubbles和传统IDE在某种程度上是混合的。事实是:看到人们发明了一些尝试改进我们的开发工作方式的事情真的很有趣(例如在Web开发中的Zen Coding,举个例子),即使这种方法失败了,也可以借用一些想法到其他项目。

说真的,我期待未来发生的事情是我要使用键盘和响应式多点触控界面的一天,同时在ide上拖动项目和代码段,设计和编程用我的双手在屏幕和键盘上绘画:像用于编程的iPad。

(关于这个代码泡泡视频在YouTube上有一些非常好的评论,这是一个好主意,检查出来)。

0

我认为您的工作流程(以及学习曲线)的变化不会像最初出现的那么大:如果您正在使用Eclipse(正确),那么您已经使用Open Type(按名称)导航,打开调用层次结构,打开类型层次结构,打开声明等。折叠的代码块似乎也是代码泡沫的先驱。

我同意Codeka的观点,它可能只适用于“严格组织”的语言,比如Java,对于像Perl这样的东西不太好,它给程序员更多的自由,他想要如何安排事情(牺牲他期望的工具支持)。

+0

vim(和emacs,我想象的)一样:你使用ctags或cscope跳转代码库。这只是一个漂亮的GUI。我将等待(非常非常耐心地)让vim开始以xmonad或真棒的风格管理分割窗口。 – Wang 2010-03-19 18:39:21

0

我会使用代码气泡有很多原因,但真正让我感到厌烦的是调试。我喜欢这样的想法,即当你进入一个函数时,它会为该函数打开一个新的泡泡,所以你可以查看调用函数的代码,同时看到函数的自身,我认为这是很好的生产力。

Gath

2

我一定会下载它,并尝试使用它时,它可用。它看起来像一个整洁的想法,可以加快调试,代码审查和某些类型的开发。此外,代码泡沫常见问题解答表示,他们支持将整个文件视为大型可滚动泡泡 - 因此,如果泡沫隐喻需要,您可以分解。

可能是我头顶最大的问题是我不认为除了Java之外都不支持其他任何东西。我大部分时间都在C语言中工作,如果他们想让这个想法真正起飞,多语言支持是至关重要的。

5

我认为这是一个令人印象深刻的创新概念,我迫不及待地尝试它!

除了独立于其存储文件的代码之外,我发现最有趣的事情是“小地图”式的酒吧,它展示了您的泡泡布局的缩影,让您立即滚动或将您的“桌面”放置在特定区域。

这是虚拟桌面应该在操作系统级别上实现的方式!

1

绝对!文件结构不会影响气泡视图,因此您可以在技术上使用传统方法来组织项目源文件。这真的有助于导航已经固定的代码。学习别人的代码是必须的。它也很适合保持代码清洁 - 许多小而简洁的对象和功能。

26

我会在心跳中使用它。无论如何,我总是想要这样工作。

我只是在第一次创建目录时才考虑目录结构:在此之后,我总是希望通过思路而不是文件来工作。

1

我觉得它看起来不错,但对我来说,它看起来像它在调试/进入代码时更有用。没有IDE打开整个代码文件,只是创建一个小小的代码泡泡很酷。

0

我不能说我是否会长期坚持下去,但我肯定想在这个环境中工作几个月。

这里有一些非常有趣的GUI创意 - 这是一个鼓舞人心的视频。

1

我认为代码泡沫打开了整个GUI桌面隐喻的想法,而不仅仅是编程。

我们所做的大部分工作都是分层的。想象一下写一个项目文档。它有标题吗?副标题?想象一下,构建目录(ToC),然后点击每个标题/子标题以获得一个单独的窗口,您可以在其中放置内容。您可以在不同的气泡中同时打开多个子部分。你总是可以拆分现代文字处理器来完成同样的事情,但是我希望能够将这些部分移出到单独的窗口中,这样我就可以按照自己想要的方式来安排它们,而不是仅仅依靠应用程序来“瓦”子窗口对我来说。 Code-Bubbles-as-desktop会允许这样做。

想象一下,您正在该文档上协同工作。您单击ToC中的一个子标题并开始处理它。其他人点击另一个并开始工作。你可以使用传统的锁定来避免让别人搞砸你正在做的事情,反之亦然。是的,我了解EtherPad。我用过它。它使我疯狂。

我一直在想做一个基于wiki的文档/程序组合系统,在主文档中创建标题,每个标题链接到这些标题的实际内容。不同的部分会出现在不同的窗口中,您可以根据需要进行安排。可以说Code-Bubbles-as-desktop是一个更优雅的解决方案。

很明显,这可以通过编程来完成,因为一个程序只不过是一个复杂的,非常精确的文档,对于挑剔的目标受众非常挑剔。程序通常是非常分层的。就目前来看,当我编程时,我使用Vim或Eclipse。他们都有能力“折叠”我没有看到的代码段,给我混合了高级概述和实际代码。在代码气泡中也可以做到这一点,方法是让一个气泡显示您的方法定义和其他包含方法内容的气泡。在将它们送到编译器之前,它们都将被“编织”在一起。另外,当我编程时,我通常会通过在注释中放入高级伪代码来“充实”一种方法或函数,然后通过并填充实现每个伪代码的程序代码。这些伪代码注释可以提供ToC片断,这会打开泡泡来保存实际的代码。系统需要将这些部分“编织”在一起成为主文档。无论使用什么编程语言,这都可以工作。

我对Literate Programming的兴趣是否足够清晰?

让我们把它带到下一个层次。您正在使用平板电脑或上网本。你有更少的屏幕房地产合作。哦,呃,看看那个;气泡都比较小。使用顶部的“上下文栏”来查找您正在查找的气泡,并且气泡可以接管屏幕。现在,您可以编写适用于尺寸较小,尺寸较小的设备的文档(包括程序)。

这可能是一厢情愿的想法,但我认为这可能是一个重要的新范例,不仅仅是编程,而是整个GUI。我一定会使用它。

+0

所以,基本上,就像网络一样。 – 2010-12-08 11:32:58

6

想想这样...什么会更容易:

(1)有代码的气泡,可以在其中查看在彼此调用的所有在一个同时视图功能的链

-OR-

(2 。)在一个文本编辑器中,不断地在这些函数之间来回切换6或7个源代码文件?

我会使用代码气泡吗?如果MS在未来几年没有拿出VS的同类产品,我可能会突然对成为Java开发者产生浓厚的兴趣。

+0

对于Visual Studio 2015,您可以尝试使用新的任务画布扩展在一个视图中查看不同类中的函数。 – 2016-05-31 05:42:23

3

对于那些有兴趣的人,微软研究院也在为Visual Studio做类似的工作。它被称为代码画布。

你可以学到更多,在这里看到了一个视频:http://blogs.msdn.com/b/kaelr/archive/2009/03/26/code-canvas.aspx

至于原来的问题,我只要我发现了代号泡沫报名参加了测试。我认为它有一些非常好的想法,并且想尝试一下。即使它不像他们声称的那样有用,我相信其中一些概念将会演变为许多程序员使用。

+0

他们发布了[Debugger Canvas](http://msdn.microsoft.com/zh-cn/devlabs/hh227299),我认为这是本研究的产物。如果您不想安装Silverlight,请点击[youtube video](http://www.youtube.com/watch?v=3p9XUwIlhJg))。 – antitoxic 2012-05-05 16:41:34

0

我对Code Bubbles的兴趣比我在一段时间里对一个新概念的兴趣。几年来,我一直在等待代码社区开始考虑代码数据库,而不是代码文件。我认为文件隐喻削弱了我们的思想,并以错误的方式影响了我们的工具。

例如,为什么还存在单元测试是否应该与生产代码在同一个文件中的问题?当然他们一起去,但我们通常会把它们分开,因为我们不想把测试打包到.jar中。我们让构建工具迫使我们在这些被称为文件的人工制品之间反弹。代码泡泡是否是一个更好的比喻还有待观察,但是任何让我们摆脱文件隐喻的东西都是一件好事。

我刚刚发现Code Bubbles,并欣喜若狂地发现测试版。我迫不及待地想看到这个。

0

我对演示的印象是,我可以看到这种方法对于大型程序有用。然而,在为编程谋生的14年中,我只写过一次大的程序(继承了更多)。

那时候我才22岁,我后悔在接下来的六年里把它变得如此庞大,直到退役。这是一个持续的维护问题,因为除了我以外,没有人真正理解过整个事情。