元编程多少太多了?

时间:2009-06-22 18:39:24

标签: ruby metaprogramming

随着我越来越习惯使用元编程技术,我发现越来越多的元编程应用程序。我现在在一个小项目中工作,我正在动态创建这些类的类和实例,我想知道我是否已经将元编程过度了?是否存在过多的元编程?如果是这样,人们在哪里画线?

4 个答案:

答案 0 :(得分:10)

当它变得太难以

  • 测试
  • 调试
  • 理解
  • 保持
那么它可能太多了。 元编程应该简化您的日常开发。如果你最终花费越来越多的时间来处理复杂的代码库,你可能需要简化它。

答案 1 :(得分:8)

元编程就像暴力一样,如果它不起作用,你的使用就不够了。

严肃地说,元编程可能会很快过度,但只要代码是可读的,它就不会以怪异的方式影响任何全局,并且效果很好,它很好。也就是说,通常当你进入元编程思维模式时,你会忘记如何以正常的编程方式做事。元编程和OOP在功能上有很多重叠,因此您应该看看是否有更简单的方法来实现您的目标。 Yehuda Katz有一个关于这种虐待的有趣故事:http://yehudakatz.com/2009/03/06/alias_method_chain-in-models/

答案 2 :(得分:5)

当你永远无法结束原始项目(你本应该做的事情)时,你可以知道你做了太多的元编程,但是继续开发大量有用的可重用组件。

很久以前,Enrique是一家初创公司的合伙人,他是一名元编程狂热分子。我记得他开始为他正在研究的系统编写报告,这是一两天的任务。一周之后,报告还没有出现,但是在他的脑海中形成了一个很棒的通用图书馆来构建你想要的任何类型的报告。

顺便说一句,我学到了更多关于恩里克编程的知识,在多年的工作之前,他的观点令人振奋......只是他曾经走得太远,我们真的需要完成一些工作......

但最好是冒太多元的风险。也许你已经阅读了典型的“一些程序员的效率提高了10倍”...我相信成为10x超级巨星之一的关键因素是思考meta。

答案 3 :(得分:0)

如果您和您的团队对您的技术感到满意,并且您及时实现了项目的目标......那么您还没有进行太多的元编程。