发布于 1970-01-01 08:00
  • 10 个回答
    • 共用女朋友

      • 代码界加班多,没有时间陪女朋友逛街、旅游、买衣服。

      • 甚至等不起还在上幼儿园的她。

      • new GirlFriend() 是不是很简单。

      • 撸一会爽了就行了,不用自己哄她开心(维护)呀。

      即插即用

      • 女孩心思难猜,隔壁大神写的代码看不懂

      • 工期紧,节奏快,我只想外部配置下就能使用

      减少人员伤亡

      • 你为什么改我的代码,你改了我的代码就跟碰了我的老婆你知道吗?

      • 我不在这插功能怎么实现。

      • 你不会告诉我来插吗?

      世界越来越大,你能做的相对越来越少

      • 单打独斗的时代已经过去了

      • 你要和别人合作才能更大的事情

      人读的诗,机器吃的屎

      • 为什么不直接汇编?

      三种效率的价值权衡

      • 运行效率

      • 开发效率

      • 维护效率

      • 三种效率,什么效率都是成本,那种组合配比才能使开支最小?

      • 在尝试阶段使用的是解释型语言。

      • 把稳定被需求需要更快运算的改为C开发,节约的是用户的时间

      • 世界级运行效率且不变的需求用了汇编,因为汇编快到了极致节约的是世界人民的钱。

      一个巨大的阴谋家,策划创造一个毁灭世界级别的机器怪物,但是复制你们的代码粘贴到他的程序里显得太LOW。

      2022-12-01 00:25 回答
    • 如果一个东西封装成函数就够了,就不应该封装成类。你遇到的是恰好能封装成函数的情况。

      真正适合面向对象的代码,你拆成一个一个函数,你会发现参数多了就分散了,传递起来麻烦,找起来更麻烦。那还不如弄到一起写成类的形式。

      就比如说,封装一个http请求,需要传递url、方法、参数、cookie、代理,还有一些杂七杂八的配置,等等。你如果封装成函数,每个函数都需要有将近十个参数,如果封装成类,只需要传递需要设置的参数就行,不需要频繁设置的参数,就在构造器中赋上默认值。这不就省事了吗。

      2022-12-01 00:25 回答
    • 我觉得楼上说的太复杂啦,其实并没有那么复杂。面向对象的优点是什么?好维护,有利于项目的维护扩展。我是做PHP的,PHP面向过程的代码难以维护,使用面向对象则不然,文档齐全的情况下,维护扩展起来都挺方便。尽管PHP的面向对象牺牲部分性能,但是相对于项目的可维护性可扩展性而言,不足为虑!

      2022-12-01 00:25 回答
    • 那是因为你没有开发一个大项目 在大项目开发中 ,面向对象编程,会让你的代码写的更少 更抽象 更容易维护
      你可以看看网上的这个解释http://zhidao.baidu.com/question/2265557081512828548.html

      2022-12-01 00:25 回答
    • 这个一言难尽。对于大型程序,面向对象方法的优点是不容置疑的;但对于一个功能简单的小程序来说,两种方法哪个更好还真不能一概而论。

      但是300行代码的分页程序很可能比你的50行代码的功能要丰富,可配置性可能也要高一些。而不是说功能完全一样的情况下,结果却是50 vs 300。如果真是这样,那就该打那个人的屁股了。

      2022-12-01 00:25 回答
    • 小菜也斗胆回答一下这种上升到CS哲学层次的问题.
      首先二者并没有谁厉害谁不厉害之区别,都一样,没有高低之说,不然linux kernel那上万行的C代码岂不是low爆了?
      第二是,程序规模上去了,要求多人团队高度协同容易维护,似乎,面向对象更适合些
      最后是,无论是面向过程还是面向对象,都要做到高度模块化,抽象化,易维护扩展,否则就是给自己挖坑.

      2022-12-01 00:25 回答
    • 反对非黑即白的二元论思想

      你只能说:在你接触过的大多数项目中,为什么面向对象被普遍使用

      而原因是:大部分程序处理的对象繁多、关系复杂,如果用模拟现实世界的方法去组织代码,更容易让人理解,也更容易维护。

      不要为了面向对象而面向对象,因为它并不是普适的范式。合适的才是最好的。

      2022-12-01 00:25 回答
    • 只有面向过程不容易复用代码。
      面向对象方便了对代码和逻辑的管理。

      2022-12-01 00:25 回答
    • 便于拆分封装模块。
      同时做好框架后,声明式编程会比指令式编程直观得多。

      2022-12-01 00:25 回答
    • 拿C语言来说,语言层面根本就不支持C++、Java那种性质的面向对象,但像PHP、Apache、Nginx、Linux这些C程序,不一样能做到良好的模块化么?像Go和Rust这两门极具代表性的新生代语言,都没有采用Java/C++那种类型的面向对象和异常处理,由此可见,这两个东西的确存在缺陷。所以,在PHP编程中不要盲目像Java那样教条主义地使用面向对象和异常处理。从Linux C库的API和PHP内置的库函数其实都可以看出,其组织形式并不是Java类库那种“面向对象”的方式,但使用起来却非常方便,所以说封装成函数,一样是能够实现代码重用的。

      拿人吃饭来说:
      面向过程强调的是"吃饭","人"只是一个参数.比如mysqli_connect生成的连接对象作为mysqli_系列函数的一个参数.
      面向对象强调的是"人","吃饭"只是一个动作.比如new mysqli生成的连接对象,可以直接调用mysqli类的方法和变量.
      不是什么时候都必须要用面向对象的,哪个方便就用哪个。

      王垠看待面向对象编程:
      http://www.yinwang.org/blog-cn/2015/04/03/paradigms/
      王垠这篇文章中关于OOP的见解,提到了,面向对象=过程式+抽象,同时指出了完全面向对象导致过度抽象的问题,过度抽象反而会增加耦合.

      “对象思想”作为数据访问的方式,是有一定好处的。
      然而“面向对象”(多了“面向”两个字),就是把这种本来良好的思想东拉西扯,牵强附会,发挥过了头。很多面向对象语言号称“所有东西都是对象”,把所有函数都放进所谓对象里面,叫做“方法”,把普通的函数叫做“静态方法”。实际上只有极少需要抽象的时候,需要使用内嵌于对象之内,跟数据紧密结合的“方法”。其他的时候,你其实只是想表达数据之间的变换操作,这些完全可以用普通的函数表达,而且这样做更加简单和直接。把所有函数放进对象的做法是本末倒置的,因为函数本身并不属于对象,它们只是对象上面的变换操作。绝大部分函数是独立于对象的,它们不能被叫做“方法”。强制把所有函数放进它们本来不属于的对象里面,把它们全都作为“方法”,导致了面向对象代码逻辑过度复杂。很简单的想法,非得绕好多道弯子才能表达清楚。很多人至今不知道自己所用的“面向对象语言”里面的很多优点,都是从过程式语言继承来的。

      大多数的面向对象语言里都缺乏正确的实现一等函数的机制。Java语言是一个极致,它完全不允许将函数当作数据来传递。你需要将全部的函数都封装进类,然后称它们为“方法”,但就像我说的,这是绑架。缺乏一等函数是为什么Java里需要这么多“设计模式”的主要原因。一旦有了一等函数,你将不再需要大部分的这些设计模式。

      2022-12-01 00:25 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有