2009-10-19 31 views
7

我是一个懒惰的开发者吗? 是否懒惰使用自动化工具,如代码生成器等?现在,如果必须的话,我可以创建所需的所有数据层和实体,但我选择使用CodeSmith来生成我的数据图层和实体。 我也使用Resharper,我会说它与MSDeploy打架,在Visual Studio之后首先安装。 再次如果我必须,我可以没有它的代码,但不喜欢。要成为一个懒惰的开发者或不成为懒惰的开发者?

从我的角度来看,这两种工具都毫无意义,因为它们大量提高了输出。

但这是懒惰? 我敢肯定,那里有纯粹主义者会说一切都应该由你来了解,所以你知道一切都在做什么,但是如果你可以通读代码,看看发生了什么,那么好吗?

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

+5

如果懒惰意味着更早完成工作,那么我们是两个。 – 2009-10-19 12:25:42

+1

懒惰和高效是两码事。我认为我既高效又懒惰!两全其美的! – 2009-10-19 12:29:06

+0

我不认为你真的有一个有效的问题。你有一个你想要思考的话题,这很好,但这意味着这个问题应该被标记为community-wiki – 2009-10-19 12:42:38

回答

23

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

+1

至少,这是如何证明它,所以我们可以对自己感觉更好;) – mpen 2010-06-05 06:59:22

1

你正在使用你手中的所有卡片。为什么在有工具可以让你的工作更轻松时重新发明轮子。请记住这些工具不要做你的工作,他们只会提供帮助。

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

+1

但同时不要忘记有同样的工作有不同的工具。 (我看到有人用10分钟时间设置了一把电锯,用2分钟的时间来处理坐在长椅上的黑客攻击。) – 2009-10-19 13:20:50

5

你不需要重新发明车轮n次,这样做通常足够了。简而言之,我会说使用像你提到的工具(在合理范围内)是绝对没有问题的......

1

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

+0

懒惰是你使用代码生成器来获得高效率时所得到的结果,但是使用节省的时间可以缩短到StackOverflow,而不是花更多的时间来处理你被雇佣的项目的其他方面。懒惰的另一种解释是:懒惰是当你使用代码生成器时,但它不能完全达到你想要的,所以其他人都被迫绕过它(例如,当你使用某些不适合工作的工具来避免做它正确)。 – 2010-08-03 17:02:45

11

如果您使用工具生成代码并按原样使用它,但不验证代码是否满足您的需求并遵守您的标准,那只会很懒惰。

2

从我的角度来看,这两种工具都毫无意义,因为它们大量地提高了输出。

这意味着您不会懒惰,您正在使用适当的工具让您专注于工作的重要方面。

2

它不是懒惰 - 它很聪明。使用每种工具都无妨,只要它能提高您的工作效率即可。为了使用工具而使用工具是一个坏主意。但是,如果你不知道你的工具在底层做了什么,那么你应该了解它,所以如果你没有可用的工具出于某种原因,你可以完成工作。

5

对你有帮助吗?不,你不是懒惰的。

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

这是重要的区别:你必须知道你获得了什么通过使用代码生成器知道你缺少的东西。如果你不这样做,在你遇到一个你必须能够生成这些类而不知道如何的情况下,只是一个时间问题。

+0

这是否意味着不知道编译器如何工作的人正在使用懒惰? – 2009-10-19 13:19:10

+0

@Mthethewwhited我意识到你正在滑冰;但你应该认识到,有些人不知道他们为什么或如何工作而盲目使用工具,而且这些工具会损害他们的团队。 – 2009-10-19 14:01:21

+1

有些程序员不知道编译器是如何工作的?买一本书,伙计。啧。 – 2010-06-05 07:06:02

0

我敢肯定有较真的,在那里,可以说一切都应该由你wirtten所以你知道一切都做

这可能是在早期的观点可行点的编程。但是现在,这根本不可行(甚至不可取)。毕竟,你只是通过使用高级语言就已经模糊了某种程度的理解。

也就是说,我发现偶尔用手写这些东西是一个很好的学习练习。你不仅会学到更多东西,而且会教你如何帮助这些工具真的(或不是)。请注意,我只会在个人项目上这样做。我不会这样做,因为任何有人支付我的项目(除非我为受虐狂或其他事情工作)。

0

问问自己为什么有这么多的ORM和其他代码生成工具。我会说,它的前提条件是你可以保持下一个家伙/加仑。

0

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

2

我认为这是错误的问题。懒惰是一种美德。我看到过多的程序员以艰难的方式做事,而不是坐在后面思考几分钟,想出一个更简单的方法。我已经有过很多次了,我曾经对一个初级程序员说过一句话:“是的,我尊重你通过午餐工作的努力,并且迟到写代码来做X,但如果你已经采取了几分钟来检查你可能已经看到的文档中已经有一个函数来做到这一点“。或类似的故事。

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

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

+0

写得非常好! – 2010-06-05 07:04:25

0

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

但是随着我的所作所为,可能我们很多人做的是在网页或Web服务的代码中实现业务流程。在这些领域,如果您可以通过代码生成器改进代码,那就去做吧。

0

是你是一个懒惰的开发,是诚实的自己,如果你花时间去做它,你可以叫自己偷懒少比你现在硬盘的方式。

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

所以你很懒,但没关系。人们不会雇用每天制作10个应用程序的动作过强的编码器,而是在他们的路上留下一些错误。错误修复花费时间,时间就是金钱。

结论: 懒惰=利润

去了。

0

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

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

2

正如其他人已经指出的那样,使用代码生成器没有任何问题。

我仍然可以看到缺点和理由,以避免它在某些特定sitations。

  • 选择语言。有时候,您需要使用代码生成器才能开始编码,这意味着您正在使用错误的语言执行任务。大多数时候语言不能真正被选择,所以代码生成器仍然是最好的选择。

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

  • 加入开发平台的要求。我们必须承认,许多程序员在那里工作面包烤面包机倍增为PC。廉价的商业实践会遇到敏锐的头脑是一个很糟糕的(也是令人伤心的)现实。 (在这个过程中,敏锐的头脑会被浪费)如果我们的项目(未来可能有一个端口存储在外部设施中)或者需要一个巨大的内存占用,没有足够的跨平台的IDE,这可能会成为一个问题方便编译每一个小修改。

所以,没有确定性的答案代码生成懒惰和编程:这取决于。然后,再次,使用错误的工具进行这项工作对你的健康不利(和业务),所以......不要。

1

编程主要是一种思维练习,而不是打字练习。只要你明白这些工具在做什么,你就可以从打字转向思考。做更多你的工作是关于什么?听起来不像我这么懒!