每当我开始一个新的软件项目时,我都会在开始绘制类图和其他流程图时花费大量时间来规划我如何看待应用程序的工作情况。这部分只需要进行大量的思考和测试。但是在某些事情已经计划好的时候,我不需要再考虑它了,我只需要对它进行编码。
IntelliSense绝对是天赐之物,因为能够通过点击TAB键自动生成代码。但现在我想知道:人们使用什么其他技术或工具尽快将代码放到屏幕上?
答案 0 :(得分:26)
我从Resharper获得了很多工作效率 - 如果你学习了所有的功能和键盘快捷键,它会特别有用
答案 1 :(得分:9)
我不想打开整个CodeRush&重构! / Resharper可以使用蠕虫,但像其中之一那样的高质量重新分解工具可能会有很大帮助。我一直在使用CodeRush和Refactor!一年多一点,编写健壮且可维护的代码所花费的时间现在比几年前缩短了。
当然,这是一个学习曲线,但短短几周之后的好处是巨大的。
答案 2 :(得分:9)
让您的环境更快地做出响应。
缓慢的电脑,IDE,构建,可自动执行的重复性任务会严重影响速度。
每件小事都很重要。甚至在控制面板中增加Repeat rate
=>键盘属性。
答案 3 :(得分:9)
正如其他人提到的那样,使用Resharper或同等产品。
了解键盘快捷键并使用它们。几乎所有你可以在VS中执行的操作都有一个等效的键盘,你知道的越多,你花在菜单上的时间越少。这对于使用Resharper同样重要。
注意你必须等待的任何事情。你在等待构建完成吗?从解决方案中删除您未处理的项目,并改为引用其程序集。如果需要,您可以随时添加它们。你在等待单元测试运行吗?也许您可以将测试分成每天运行几次的集合和每次签入前运行的集合。您是否在等待每次测试时启动应用程序?也许你可以定义一个构建配置,排除启动代码,其功能不涉及你现在正在做的工作。
获取固态硬盘并将操作系统和开发工具放在上面。在机器中放入更多内存。
一个简单的提示,用于处理您复制和粘贴的编辑代码的乏味:不要复制和粘贴代码。我确信在某些情况下它是复制和粘贴代码是可以接受的,甚至是必要的,但是如果它是你日常工作流程的一部分,你需要停止你正在做的事情并修复它。如果不止一个人没有建议,我甚至都不会提到这一点。
答案 4 :(得分:5)
您可以在Enterprise Architect等建模工具中绘制类/序列图,然后可以为您生成代码。
答案 5 :(得分:5)
我不想成为那个提起这件事的人,我不是Linux粉丝,但几个月前我尝试了一个叫做ViEmu的插件。我花了至少一个月的时间来恢复我的平常生产力,因为学习所有命令以及如何链接它们是一个很大的问题,但是现在,......我在重构时容易快5到10倍。
当你遇到笨拙且重复的文本编辑工作时,很难解释如何但是你从中得到最多的工作......说你有20行代码需要删除中间的骆驼来自变量名称。这就是那种事。
ViEmu的链接在这里 - http://www.viemu.com/
HTH
答案 6 :(得分:2)
不幸的是,它只是智能感知,虽然我确实倾向于重新绑定一些键盘快捷键来帮助。上下文菜单(我的键盘没有上下文菜单按钮)是我最常用的添加引用等。
我不久前读到了关于游戏玩家的“神经头带”。它的设计是为了让他们能够进行“前进”和“前进”的培训。 '火'而不是按W + Mouse1,声称增加反应时间。我怀疑它可以训练得足够,但是如果可以使用这样的技术,那么你认为'实现基类Foo并添加方法Bar()'并且代码在VS中生成,那就太棒了:)可悲的是它的稍微远一点,我可以想象'咖啡'是太多破碎的构造的结果......
答案 7 :(得分:2)
好的工具有很多帮助。我特别喜欢Visual Assist X:http://www.wholetomato.com/
答案 8 :(得分:1)
您是否考虑过为常规内容创建和使用代码段?这些可以节省时间,因为您可以直接将它们转储,并且可以轻松地重构它们中使用的变量。
答案 9 :(得分:1)
嗯,毫无疑问我是一个古怪的人,但对于桌面应用程序(不是网络),这就是我的工作。我认为几乎任何应用程序都只是一个美化的编辑器。也就是说,它有一个需要持久化的数据结构,以及一个让用户将信息放入该数据结构并将其取出的UI。
对于数据结构,保持简单,简单,简单。我认为它只是一个信息库,尽可能少的冗余。我不想构建为了成为底层数据的可见表现形式而存在的数据结构,例如树控件等,因为那时需要与底层数据保持一致,并且您将进入所有如何保持冗余数据一致的问题。 (例如:对于图形,不要构建它,绘制它。)如果我无法避免创建冗余数据结构,我会尽可能远离通知风格试图保持冗余数据结构紧密协议的编程。大多数错误列表和性能问题都源于此。相反,我更喜欢松散耦合,其中可以容忍一定量的不一致性,并且由偶尔运行一次的进程管理以传播变化。
对于UI,我是OOP和MVC风格UI编码的忠实信徒,直到1986年我发现this。现在我被宠坏了,我可以获得复杂的UI编码通过通常的控制事件处理方式可能的时间,并且随着需求的变化,它们很容易修改。但到目前为止,我在世界上只有3个人使用它,因为它绝对不是主流。
答案 10 :(得分:0)
在我看来,我看到了两件事:
答案 11 :(得分:0)
答案 12 :(得分:0)
我学会了dvorak keyboard layout,这对英语来说要快得多,而且编程速度要快一点。我花了三个月的时间才回到原来的qwerty速度,但我还是继续提高。从长远来看,我认为这为我节省了很多时间。
答案 13 :(得分:0)
除了Resharper之外,我发现Hawkeye可以节省大量时间来跟踪特定小部件的源代码,或者实时测试属性及其视觉效果。强烈推荐。
有点像FireBug for .NET rich clients。
答案 14 :(得分:0)
阅读Zain Naboulsi的优秀"Coding Faster: Visual Studio Tips & Tricks"。