2009-12-01 77 views
4

IDE的目标是提高生产力。他们在这方面做得很好。重构,导航,内联文档,自动完成有助于极大地提高生产力。如何通过IDE鼓励积极的开发人员行为?

但是:每个工具都是武器。完全相同的IDE有助于生成块代码。一些IDE功能是产生错误代码的邀请:代码生成,代码格式化工具,重构工具。

IDE的过度使用倾向于将开发人员从必要的细节中分离出来。 是一件好事,你可以开始工作但是在你职业生涯的某个时候,你必须能够弄清楚如何开始一个过程。你可以忽略这个细节一段时间,最后他们对于编写一个工作产品很重要(对比一下,在90%的时间里,这些东西都是用螺栓连接起来的)。

您如何鼓励其他开发人员使用IDE的积极行为?这是一个与复制和粘贴一样古老的问题。

为了获得正确的印象:开发者必须有最大的自由来调动他们的最大创造力和动力。他们可能会使用IDE和所有相关的工具。没有人应该对他们施加严厉的措施。我不想去激励和强迫某人做某事。良好的行为必须得到鼓励。如果你做错了事情,它必须稍微痒一点。与SO“接受率”度量标准(以及声誉)相同。你可以忽略它,但如果你遵循规则,生活会更好。

(该解决方案应该在一个给定的设置工作。你可以忽略的评论,改变人员或更多的教育作为潜在的解决方案。)

回答

1

知道有什么引擎盖下回事。

知道你的IDE实际上正在调用编译器。对它传递的标志有一些了解。能够从命令行调用编译器。

了解运行系统。请注意启动程序时使用或需要的标志。能够从命令行启动程序。

3

训练你的IDE,而不是受它的训练。

设置代码来格式化您(或您的团队)所需的方式。甚至在有意义的情况下禁用它。我从来没有见过一个IDE对准这样的事情有标签和空间的合理组合(其中\t显然是制表符):

{ 
\tcout << "Hello " 
\t  << (some + long + expression + 
\t   to_produce_the_word(world)) 
\t  << endl; 
} 

像Java语言中,你无法避免的样板。您拥有的最佳选择是检查生成的代码,确保它与您手动编写的代码相同。根据需要进行修改。如果可能的话,配置您的IDE以生成您需要的确切代码。 Eclipse在这方面相当出色。

0

其开放式的问题,但是...

我们有一个Eclipse格式文件,让全体人民共享,让大家都在同一个庄园格式化代码。 (除了我们唯一的一个InteliJ人)。

每个人都共享一个字典文件。它有助于删除代码中的所有红线。让它看起来更干净,更具可读性。

我在代码上运行EMMA来找出谁没有测试他们的代码,然后呻吟他们。

我们面临的主要问题是大多数团队不知道IDE(日食)的所有功能/功能。不知道CTRL + O(两次),或自动代码gen。我所能做的'热键精灵'就是不断与他们分享我的知识,帮助他们提高工作效率。

我期待着我的问题是,他们尽可能自动生成的那一天。 而不是我发现错误,其中由于错字而从getter方法返回错误的值。

0

尝试仅使用文本编辑器进行开发(至少偶尔),并从命令行启动编译,测试等。

输入命令会很快乏味,所以创建脚本或(甚至更好)学习rake,ant,msbuild。

如果IDE为您生成代码并且代码生成非常重要(例如从xsd或wsdl生成代理类生成类),请尝试了解如何从命令行运行代码生成 - 然后钩子代码生成到一个版本(所以你永远不会试图编辑生成的代码)。

自动生成代码的想法很好,但它通常只是将您的代码变成一团糟。如果您的代码较少,则较小的格式不一致就不是什么大不了的事情。将代码质量工具添加到您的构建样式检查,类和方法大小,复杂性,代码重复,测试覆盖率等(complexian,simian,flog,flay,ndepend,ncover等)将阻止IDE生成的代码。

1

我觉得在任何人使用任何类型的RAD工具之前,他们应该可以在记事本中从头开始编写应用程序(从头开始将框架组件连接在一起):可能在比当前技术早10年的计算机上:P 。不了解范式/框架的来龙去脉会导致新手开发人员的糟糕代码,这些开发人员只能在他们开发的平台上以一英里高的速度学习东西。也许他们应该使用一些技术来做到这一点 - 也就是说,GTK编程与MVC完全不同,后者也与SWING和.NET不同。

我认为最终结果应该是一个开发人员,他们在思考他们如何在特定的RAD环境中编写接口之前,会考虑问题的细节。