OOP与程序化编程 - 页 13

 
Alexey Navoykov:

你说的解决方案效率是什么意思?

我所说的解决方案的效率,是指解决方案的质量,其中的机制--软件无疑是一种机制--将以最稳定的方式工作。该机制应该是明确的、连贯的和富有成效的。引擎的功能应该实现分配给它的所有任务。这个机制不接受任何多余的东西,在这个机制的发展中,任何多余的东西都应该被切断。

否则,要么没有发展,要么没有效率。

这只是我的观点,我并没有把它强加给任何人。

 
Комбинатор:

我不是一个OOP的粉丝。

但就可维护性、可扩展性和第三方使用的便利性而言,TC(彼得,不是卡尔普托夫)所推动的只是石器时代。

我强烈认为,每个 程序员 应该在一个团队中工作,最好是4个人以上,只是要明白,代码的效率和通用性并不意味着这个代码是好的。

为什么我们需要 "好 "但不一定高效的代码?编程不是 "诗","艺术 "的价值是零。对机制的评价不是以其美感而是以其效率。代码是一种机制。
 
Реter Konow:

我不想在这里引起大合唱,但我想知道OOP的支持者是否可以提交一些解决某个问题的代码,其中可以清楚地看到这个解决方案比没有OOP的解决方案更有效率?


我是一个在没有OOP的情况下解决问题的高手,希望能和一个用OOP解决问题的高手较量一下。


我试着给你解释一下,假设你是一个做事的人,你有一个客户,他总是给你一些工作要做。然后在5-6个订单之后,你注意到他所有的任务在某些方面都是相似的......而且,你可以把它们组合成一个图案...而客户也喜欢将这些模板大量地相互组合......当客户再次提出一项困难的工作时,你只需创建必要数量的这个模板(类)的实例(例如,10个),并在每个实例中设置那些发生在客户身上的属性(在构造函数中)...。最后,开启订单的决定将仅仅基于一个循环,在10个实例中的每一个都会看到结果,仅此而已......。你可以在5分钟内铆紧这种订单...

但是,如果没有OOP,你将无法制作一个实例,你将不得不重做几乎所有的事情,希望这些变化不会破坏你所拥有的东西......结果,你将花费更多的时间......


结论:懂得OOP的程序员将能更快地解决(适合OOP的)问题,并减少错误......

 
Nikolay Ivanov:


让我试着解释一下,假设你是一个表演者,你有一个客户,他总是给你工作。然后在五六个订单之后,你注意到他所有的任务在某种意义上都是一样的......。而且,你可以把它们组合成一个图案...而客户也喜欢将这些模板大量地相互组合......当客户再次提出一项困难的工作时,你只需创建必要数量的这个模板(类)的实例(比如,10个),并在每个实例中设置客户想到的那些属性(在构造函数中)。最后,开启订单的决定将仅仅基于一个循环,在10个实例中的每一个都会查看结果,仅此而已......。你可以在5分钟内铆紧这种订单...

但是,如果没有OOP,你将无法制作一个实例,你将不得不重做几乎所有的事情,希望这些变化不会破坏你所拥有的东西......结果,你将花费更多的时间......


结论:精通OOP的程序员将能更快地解决(适合OOP的)问题,并减少错误。

你可能是对的。我从来没有做过订单,我不知道客户想要什么。你所描述的看起来更像是常规工作,而我在这里谈论的是发展。可能对于常规工作(也是由一个团队完成的),OOP是不可替代的。我没有这种经验,根本不知道。

而且你可以举一个具体的例子,这些单一类型的任务,没有OOP最好不要做?

 
Комбинатор:

我不是一个OOP的粉丝。

但就可维护性、可扩展性和第三方使用的便利性而言,TC(彼得,不是卡尔普托夫)所推动的只是石器时代。

我坚信,每个 程序员都必须在一个团队中工作,最好是4个人以上,只是要明白,代码的效率和通用性并不意味着代码的好。


哦,在一个团队中工作是一首单独的歌!而领导一个程序员团队是一首歌,其程度与参与者的数量相当。

我给你讲一个星期六晚上的故事。关于我们的公司曾经在铁器中浸泡过的时代。如果是重复的,我表示歉意,我可能在前段时间已经翻阅过这个故事了。

我的老板召见我,问:'你的工作太忙了吗?我说:"不是真的。

-你现在到底是做什么的?首长从来不知道我是做什么的,因为我给自己制定了一个个人时间表,其中包括不断的缺勤))。

我说:"是的,我只是在为我们的设备写一个测试包。首长非常高兴:"太好了,正好可以在西伯利亚试试"。阿列克谢,我们必须飞过去,那些人被困在那里,他们想不出来。我喜欢商务旅行,我有完全的自由。

我飞到克拉斯诺亚尔斯克,我的人见到我,看着我,他们都显得很内疚。我们去了一家咖啡馆,喝了一杯,开始交谈。我问他你怎么了?局长很疑惑,你已经出差三个月了,在一个点上卡住了。他只有时间通过转账给你送钱。

好吧,他们是在公开场合。他们开车来到西伯利亚的一个村庄,住在一个住宿的房子里,那里有两个年轻的姐妹。因此,爱的旋转和朋友的参与,使任何人都不会被冒犯。

我告诉他们我不会告发你,我也是这样的。但我们必须跟上步伐。我们就把整个花圈调整一下,就剩一个废话了,500英里,然后我给你发奖金,我把老板的钱拧开,你和这些朋友一起庆祝新年,好吗?

现在妇女们会感到愤怒,但莱卡是第一个同意的人,她说,我的妻子应该生产,我宁愿在这里呆上一阵子!"。每个人都结婚了,由于某些原因,他们都不想回家)。

另一方面,我从内心里明白,当年轻漂亮的西伯利亚女孩在等着他们的时候,这些人可以多么努力地工作)。

 

这根本就不是什么争论。
无论是否有OOP,任何任务都可以得到解决。没有OOP,你也可以很容易地创建统一的函数,这些函数将被多次使用,整个程序不会因为你在其中引入的变化而中断。有了OOP,就有了更多的代码。可读性是否因为使用OOP 而变得更好? 我不知道。
我把每个类存储在一个单独的文件中,每个函数也在一个单独的文件中。只是一个习惯和方便的问题。

 

另一个最简单的例子,这是在非常表面的...MetaEditor中的EA发生器...任何人,即使他不知道如何编程,也可以在10秒内拼凑出一个包含大量指标和条件的EA))))。而这些都是OOP ))


 
Alexey Oreshkin:

根本就没有什么可争论的。
无论是否有OOP,任何任务都可以得到解决。你也可以轻松地创建没有OOP的统一函数,这些函数将被多次使用,整个程序不会因为你在其中引入的变化而中断。有了OOP,就有了更多的代码。可读性是否因为使用OOP 而变得更好? 我不知道。
我把每个类存储在一个单独的文件中,每个函数也在一个单独的文件中。只是一个习惯和方便的问题。


在这个主题中,有一个例子是不用OOP也能解决的问题,但是是以一种非常不合理的方式。

 
Alexey Oreshkin:

这根本就不是什么争论。
无论是否有OOP,任何任务都可以得到解决。没有OOP,你也可以很容易地创建统一的函数,这些函数将被多次使用,整个程序不会因为你在其中引入的变化而中断。有了OOP,就有了更多的代码。可读性是否因为使用OOP 而变得更好? 我不知道。
我把每个类存储在一个单独的文件中,每个函数也在一个单独的文件中。只是一个习惯和方便的问题。

我可以肯定地说,在我的个人发展中,我不需要OOP,但在一个大项目中,我不太确定团队合作。开发和链接不同程序员创建的代码,我从来没有想过,我也不知道如何以自己的方式实现。这是我目前唯一接受的开发中的OOP的论点。
 
Реter Konow:
我可以肯定地说,我在个人发展中不需要OOP,但我不确定在一个大型项目中的团队合作。我从来没有想过不同程序员创造的代码的开发和交流,我也不知道如何用自己的方式实现它。这是我目前唯一接受的开发中的OOP的论点。

这不是主要的论点。

在程序化编程中没有相当于多态性 的东西。