IntelliSense绝对是个救星,还可以通过按下TAB键自动从中生成代码。但现在我想知道:人们使用哪些其他技术或工具来尽可能快地将他们脑海中的代码转化为屏幕上的代码?
我非常喜欢使用Resharper提高工作效率——特别是如果你掌握了所有功能和键盘快捷方式,那么它的效用将更加明显。
正如其他人所提到的,使用Resharper或类似工具。
学习键盘快捷键并使用它们。在VS中,几乎每个操作都有一个键盘快捷键等效项,您掌握的越多,就不必在菜单中翻找时间越少。这对于使用Resharper同样重要。
注意任何需要等待的事情。您正在等待构建完成吗?从您的解决方案中删除您不在工作的项目并引用它们的程序集。如果需要,您始终可以将它们添加回来。您正在等待运行单元测试吗?也许您可以将测试分段成一组在每天运行几次和在每次提交之前运行的一组。您正在等待应用程序每次测试时启动吗?也许您可以定义一个构建配置,该配置排除与您目前正在处理的功能无关的启动代码。
获得一个固态硬盘并将操作系统和开发工具安装在上面。增加机器内存。
一个简单的提示,以应对复制和粘贴代码的乏味之处: 不要复制和粘贴代码。我相信,在某些情况下,复制和粘贴代码是可以接受的,甚至是必要的,但如果它是您日常工作流程的一部分,您需要停下来并修复它。如果超过一个人提出此建议,我甚至都不会提到这一点。
很不幸,对我来说这只是智能感知,尽管我倾向于重新绑定许多键盘快捷键来帮助。上下文菜单(我的键盘没有上下文菜单按钮)是我最常用的之一,用于添加参考等。
我不久前确实读到过一款针对游戏玩家的“神经头带”。它被设计成可以进行训练,以便他们可以想“前进”和“开火”,而不是按W + Mouse1,并声称可以增加反应时间。我怀疑它还无法进行足够的训练,但如果像这样的技术可以用于您想“实现基类Foo并添加方法Bar()”,并且代码在VS中生成,那将是令人惊奇的 :) 不幸的是,它还有一段路要走,我可以想象出太多破碎的构建导致“咖啡”的结果...
毫无疑问,我是一个怪人,但对于桌面应用程序(而非Web),这就是我的做法。我认为几乎任何应用程序都只是一个被吹嘘的编辑器。也就是说,它有一个需要持久化的数据结构和一个UI,让用户将信息放入该数据结构中并取出。
对于数据结构,保持简单、简单、简单。我认为它只是一个信息存储库,尽可能少地冗余。我不想建立数据结构,其存在的目的是成为底层数据的可见表现形式,例如树控件等,因为那样需要与底层数据保持一致,并涉及如何保持冗余数据一致的所有问题。(例如:对于图形,不要“构建”它,而要“绘制”它。)如果我无法避免创建冗余数据结构,我会尽可能远离通知式编程,试图使冗余数据结构保持紧密一致。许多错误列表和性能问题都源于此。相反,我更喜欢松散耦合,其中可以容忍一定程度的不一致,并由定期运行的进程管理变化。
对于用户界面,我一直是面向对象编程(OOP)和模型-视图-控制器(MVC)风格的支持者,直到1986年我发现了this。现在我已经被它宠坏了,可以在比通常的控件事件处理风格更短的时间内编写复杂的用户界面,并且当需求变化时修改它们也非常容易。但到目前为止,我可能只有全球三个人使用它,因为它绝对不是主流。