小编Mat*_*ank的帖子

为什么我们仍然使用平面文件编程?

为什么平面文本文件是表示源代码的最新技术?

当然 - 预处理器和编译器需要查看文件的平面文件表示,但这很容易创建.

在我看来,某些形式的XML或二进制数据可能代表很多难以跟踪的想法,否则.

例如,您可以将UML图直接嵌入到代码中.它们可以半自动生成,并由开发人员注释以突出设计的重要方面.特别是交互图.哎呀,嵌入任何用户绘图可能会使事情变得更加清晰.

另一个想法是将代码评论中的注释直接嵌入到代码中.

可能有各种各样的辅助工具可以更容易地合并多个分支.

我热衷的不仅仅是跟踪代码覆盖率,还要查看自动化测试所涵盖的代码部分.困难的部分是跟踪代码,即使源被修改.例如,将一个函数从一个文件移动到另一个文件,等等.这可以通过GUID来完成,但是它们很容易嵌入到文本文件中.在丰富的文件格式中,它们可以是自动且不显眼的.

那么为什么没有IDE(据我所知,无论如何)允许你以这种方式处理代码?

编辑: 2009年10月7日.

在我的问题中,大多数人都非常喜欢"二元"这个词.我收回它.图片XML,非常简单地标记您的代码.在将其交给普通预处理器或编译器之前的那一刻,您将删除所有XML标记,并仅传递源代码.在这种形式中,您仍然可以对文件执行所有常规操作:差异,合并,编辑,在简单的最小编辑器中使用,将它们提供给数千个工具.是的,直接使用最小的XML标记进行差异,合并和编辑确实会变得更复杂.但我认为价值可能是巨大的.

如果存在一个尊重所有XML的IDE,那么您可以添加比我们今天所能做的更多的东西.

例如,您的DOxygen注释实际上看起来像最终的DOxygen输出.

当有人想要进行代码审查时,比如Code Collaborator,他们可以在适当的位置标记源代码.

XML甚至可以隐藏在评论之后.

// <comment author="mcruikshank" date="2009-10-07">
// Please refactor to Delegate.
// </comment>
Run Code Online (Sandbox Code Playgroud)

然后,如果您想使用vi或emacs,您可以跳过评论.

如果我想使用最先进的编辑器,我可以通过十几种不同的有用方式看到它.

所以,这是我粗略的想法.它不是你在屏幕上拖动的图片的"构建块"......我不是那么疯狂.:)

flat-file

49
推荐指数
10
解决办法
7191
查看次数

有没有办法编写响应onkeypress事件的异步等待代码?

我想编写一个readKey功能为async,然后await在浏览器中按每个键。

我想将其构建为全部基于async-的同步,外观正常的代码await

因此,我可以编写一个readLine函数,await readKey()直到用户单击[enter]为止,如果用户单击[back]等,则删除最后一个键,等等。

然后我可以编写函数await readLine(),并编写调用它们的函数,等等。

我只是不知道如何弥合编写document.onkeypress处理程序...和将该事件中的键放入async readKey我要编写的某些函数之间的差距。在其他语言中,我可以使用其他多线程原语到达那里,但是我不知道如何在js中使用。我试图找出是否有某种方法可以yield实现价值,但是我也看不出如何做到这一点。

javascript onkeypress async-await

7
推荐指数
2
解决办法
3200
查看次数

是否有像PeekMessage这样的函数不处理消息?

我试图无辜地打电话

PeekMessage(&msg, 0, WM_KEYDOWN, WM_KEYUP, PM_NOREMOVE | PM_NOYIELD);
Run Code Online (Sandbox Code Playgroud)

PeekMessage调用中的Windows Vista 64正在处理消息.结果是我将重新加入我的绘画调用以及各种其他代码.

绘画在我们的应用程序中可能需要几秒钟,因此我们添加了PeekMessage调用以查看用户是否按下了一个键,因此我们可以中断该绘画并启动下一个绘画.我们几乎没有意识到Windows可以开始处理我们的消息.将绘画的真实作品放在一个单独的线程中是一个重大的重构...我们试图看看是否按下了特定键,或者是否旋转了鼠标滚轮或鼠标按钮来中断渲染.

我已经尝试专门添加代码以防止重新入侵,然后将绘制消息重新注入队列等等.这些都是非常困难的,并且有些情况下它不能正常工作.

是否有一些我可以添加到PeekMessage调用的标志?我在MSDN上的文档中没有看到任何新内容.我真的需要一个PeekMessage不处理消息的东西.救命!

windows peekmessage windows-vista

3
推荐指数
1
解决办法
5089
查看次数