成为一个懒惰的开发人员或不成为一个懒惰的开发人员?

时间:2009-10-19 12:22:41

标签: visual-studio plugins automation

我是一个懒惰的开发者吗? 是否懒惰使用自动化工具,如代码生成器等?

现在,如果必须的话,我可以创建我需要的所有数据层和实体,但我选择使用CodeSmith来生成我的数据层和实体。 我也使用Resharper,我会说它与MSDeploy战斗,在Visual Studio之后首先安装它。 如果我不得不这样做,我可以在没有它的情况下编码,但不愿意。

从我的角度来看,这两种工具都没有大脑,因为它们可以大规模地改善输出。

但这是懒惰吗? 我确信那里有一些纯粹主义者会说你应该知道一切都应该让你知道一切都在做什么,但如果你能读完代码并看看发生了什么就好了吗?

我是懒惰还是我只是用手中的所有牌?

18 个答案:

答案 0 :(得分:23)

在程序员中laziness is a virtue,所以不用担心。

答案 1 :(得分:11)

如果您使用工具生成代码并按原样使用它而不验证代码是否符合您的需求并遵守您的标准,那就太懒了。

答案 2 :(得分:5)

你不需要重新发明轮子和时间,这通常就足够了。简单地说,我说使用你提到的工具(在合理范围内)绝对没问题......

答案 3 :(得分:5)

对你?不,你不是懒惰。

对于那些了解代码生成器正在做什么以及它们是如何做的人? ,这是懒惰。

这是一个重要的区别:你必须知道你获得了什么通过使用代码生成器来了解你所缺少的内容。如果你不这样做,那么在你遇到一个必须能够制作这些课程并且不知道如何的情况之前,这只是一个时间问题。

答案 4 :(得分:2)

  

从我的角度来看,这两种工具都没有大脑,因为它们可以大规模地改善输出。

这意味着你不会变得懒惰,你正在使用适当的工具来集中精力完成工作的重要方面。

答案 5 :(得分:2)

这不是懒惰 - 它很聪明。使用每一种工具都没有错......只要它能让你提高工作效率。使用工具来使用工具是一个坏主意。

但是,如果你不知道你的工具在幕后做了什么,你应该了解它,所以如果你因某些原因没有这个工具,你可以完成工作。

答案 6 :(得分:2)

正如其他人已经指出的那样,使用代码生成器并没有错。

我仍然可以看到在某些特定情况下避免它的缺点和原因。

  • 选择语言。有时,您需要使用代码生成器来启动编码的相同事实可能意味着您正在使用错误的语言执行任务。大多数情况下,语言无法真正被选中,因此代码生成器仍然是最佳选择。

  • 代码冗余。根据所使用的实际生成器,生成的代码可能是多余的,如果发生这种情况并且生成发生一次,则不会自动生成,并且生成的代码将进入主存储库 维护问题从长远来看可能会出现。代码生成本身并不是一个问题,但它应该和不应该使用的方式。

  • 添加开发平台要求。我们不得不承认许多程序员在面包烤面包机上加倍工作。对于满足敏锐思想的廉价商业行为来说,这真的是一个糟糕的,(和悲伤的)现实。 (敏锐的头脑在这个过程中浪费掉)如果我们的项目(可能有未来的存储端口,以及在外部设施中)也需要大量的ram,没有足够的跨平台,IDE,这可能成为一个问题。方便编译每一个小修改。

因此,对于生成惰性和编程的代码没有明确的答案:这取决于。然后,使用错误的工具来完成工作对你的健康,(和生意)有害,所以......不要。

答案 7 :(得分:2)

我认为这是错误的问题。懒惰是一种美德。我见过太多程序员,他们以艰难的方式做事,而不是坐下来思考几分钟,想出一个更简单的方法。我已经有过很多次了,我曾向一位初级程序员说过一句话:“是的,我尊重你在午餐时间的努力和迟到写代码来做X,但如果你采取了几分钟检查文档,你可能已经看到库中已经有一个功能“。或类似的故事。

我不熟悉你描述的具体工具,但对我来说,问题始终是,这个工具真的能省去我的工作吗?我已经尝试了很多“代码生成器”,基本上只是创建代码存根。所以哎呀,谢谢,你写了“函数x(int,float)”,现在我所要做的就是填写实际的参数名并编写代码。是什么拯救了我?我也看到很多代码生成器编写了非常糟糕的代码。所以现在我必须尝试将“自定义”代码添加到这个乱七八糟的混乱中。第一次干净地写完整件东西不是更容易吗?我已经看到了大量的生产力工具,我发现设置运行工具的参数比使用它实际保存的时间要多。 (就像老笑话一样,事实证明经常慢跑会让你活得更长久:你每60分钟就会慢跑一次,这会让你的生活增加30分钟。)有些工具可能会产生代码或数据结构或任何难以生存的东西。保持,所以你今天节省了一个小时但是在项目的整个生命周期中你需要花费十个小时的维护费用。等

我的结论并不是你不应该使用生产力工具,而应该确保它们确实提高了你的生产力,而不仅仅是假设这样做。如果在你的情况下你发现这些工具真的对你有所帮助,那么使用它们并不是“作弊”,它只是很聪明。

答案 8 :(得分:1)

我会说你效率更高而不是懒惰。

答案 9 :(得分:1)

编程主要是一种思考练习而不是打字练习。只要您了解这些工具正在做什么,您就会将平衡从打字转变为思考。做更多你的工作是什么?对我来说听起来不是很懒!

答案 10 :(得分:1)

您正在使用手中的所有卡片。当有可用的工具使您的工作更轻松时,为什么要重新发明轮子。请记住这些工具不能完成你的工作,只能提供帮助。

你创造的东西取决于你,所以使用工具并不是懒惰......它只是聪明。

答案 11 :(得分:0)

问问自己为什么有这么多的ORM和其他代码生成工具。我会说附带条件,你可以保留下一个人/ gal。

答案 12 :(得分:0)

我认为最好的开发者也是最懒的。基本上,你所做的一切应该集中在以最少的工作量获得最终结果。这通常可以提供最好的结果,也可以避免开发人员被项目中包含的有趣事物分散注意力。懒惰的开发者会例如永远不要在他的代码中添加一个复活节彩蛋,因为这将是更多的代码,这可能会引入更多需要在以后修复的错误。添加代码很糟糕,因为您还会添加更多需要稍后解决的错误。不过,您需要添加代码,否则您将无法获得付款。因此,作为一个懒惰的开发人员,您当然会选择最优化的代码,经过最佳测试的代码几乎不会失败,并且您的工作方式可以将错误的可能性降至最低。

请记住,懒惰的开发人员应该专注于避免将来的工作,而不是现在就避免工作!所以不要在这里阅读并重新开始工作! ; - )

答案 13 :(得分:0)

是的,你是一个懒惰的开发者,对自己诚实,如果你花时间去做,你可以称自己不像现在那么懒。

重点是,懒惰并不是效率低下的。 懒惰的人在采取行动之前需要花时间从不同方向看待问题,这样可以避免不必要的错误,从而节省宝贵的时间。

所以你很懒,但没关系。人们不会雇佣过多的应用程序,每天制作10个应用程序,但在他们的路径上留下一些bug。错误修复需要时间,时间就是金钱。

结论: 懒惰=利润

去吧。

答案 14 :(得分:0)

当然,这取决于你在写什么。我很惊讶没有人提起这件事。如果您正在编写设备驱动程序,操作系统,协议或服务器软件(Web服务器,TCP驱动服务器等),您应该手动完成。

但是我所做的事情以及我们很多人所做的就是在网页或网络服务的代码中实现业务流程。在这些方面,如果您可以使用代码生成器改进代码,那就去吧。

答案 15 :(得分:0)

编程就是懒惰,关于自动化重复性任务。如果你不能在你的语言中做到这一点,使用代码生成器和类似的东西是一个有用的解决方法。

答案 16 :(得分:0)

  

我确信那里有纯粹主义者会说你应该知道一切都应该让你知道一切都在做什么

在编程的早期阶段,这可能是一个可行的观点。但是现在,这根本不可行(甚至更可取)。毕竟,你已经通过使用高级语言掩盖了一定程度的理解。

那就是说,我发现偶尔用手写一些这些东西是一个很好的学习练习。您不仅可以了解更多信息,还可以了解这些工具的实际用途(或不是)。请注意,我只会在个人项目中执行此操作。对于任何有人支付给我的项目,我不会这样做(除非我是为受虐狂或其他事情工作)。

答案 17 :(得分:-1)

懒惰是大多数优秀程序员所具有的特质。 Unless they work for Adobe, in which case they are often lazy in a bad way.

相关问题