Soft_Job 板


LINE

在讨论oop fp 或任何概念之前 需要讨论的是你的使用情境(context) 没有context就只是在讨论信仰 一开始没有讨论context,所以後面讨论一定是到处互打,大家都觉得自己对 所以回这篇文的时候麻烦先描述想讨论的context 为什麽需要设计概念? 通常不外乎两件事情 1. 降低维护成本 2. 降低开发成本 通常的情境你需要的是1+2的最小值 但是很多情景有人只看2让1一直增加 假如是demo,只需要2,不然通常要1 然後再来看两个概念之间的差异 Functional programming 用什麽方式降低开发与维护成本 1. Avoid state 2. Using immutable data. 所以维护成本其实不容易爆炸,因为你的unit test就是规格的全部 reuse 就是拿这个function reuse. 而且理解难度相对低 Object oriented programming 采用以下方式降低开发维护成本 1. SOLID 2. Design Pattern 如果遇到必要的复杂设计 design patter可以降低沟通成本 (通常会增加维护成本) 3. Inheritance 4. Polymorphism 5. KISS 6. [Insert any you want to add] OOP最大的问题就是他太容易变得很复杂 不管是高手写得或是新手写得,复杂度都可以不小心膨胀很多 各种principles & patterns 更是火上加油 造成各种over generalized design 不小心就被过去的历史backfired 举个最常听到的,有谁用global singleton然後可以很好地refactor? 有好解法麻烦分享一下 所以OOP最重要的原则我觉得是KISS (不论context) Keep it stupid simple 啊对,KISS是我的信仰,所以不开放回文战,不用浪费各位时间 FP跟OOP不是互斥关系 两者在特定context都有表现好的地方 选择适合的方式才是重点 ----- Sent from JPTT on my Google Pixel 4. -- 等等,我是不知道你是看了什麽神枪手的故事,可是为什麽要拿我当靶 (′Д‵) 什麽!是黄忠和后羿的故事?他们拿的不是铳,是弓! 长门,你手上拿着苹果跟绳子是作什麽?今天晚餐不是关东煮是烤乳猪吗? 连爸爸都没弄痛过我,可不可以不要绑这麽紧,好歹松一点让我有空间逃吧,古泉。 好,我认了,要射就射吧,可是请听一下在我死前的最後一个愿望。 不 要 拿 霰 弹 来.....噗滋(脑浆声) 摘自「阿虚的最後一餐」 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.136.220.193 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1603008934.A.569.html ※ 编辑: wulouise (223.136.220.193 台湾), 10/18/2020 16:16:54
1F:→ jej: DevOps两项都要注重 很难权衡取其一 10/18 16:21
2F:推 dream1124: 推 10/18 19:31
3F:→ dream1124: 不过我觉得FP并非没有你批评OOP过度复杂的问题 10/18 19:53
4F:→ dream1124: 现在前端给我的感觉是不管是否真的复杂都在用状态框架 10/18 19:54
5F:→ dream1124: 是否真的好维护还是跟设计者的功力密切相关 10/18 19:55
FP不复杂的前提是他没有state 但是正常的设计通常有state,然後就出现长得像FP的东西 每次执行结果都不一样XD
6F:推 es8603: 推这篇 10/18 21:15
7F:→ strlen: 重点根本不在模式 重点在人 就算FB 也是能写到超难懂 10/18 21:32
FP跟OOP本来就该是并存的,只是OOP比较容易写烂XD ※ 编辑: wulouise (114.44.72.189 台湾), 10/19/2020 20:48:52
8F:→ strlen: 「比较容易」写烂??你太小看那些工程师了XDDDDDD 10/19 23:26
9F:推 dream1124: 对啦,本就该并存,状态用OOP管,程序用FP管 10/20 09:52
10F:→ electgpro: 写 pure FP 也可以管理状态呀~ 10/21 07:53
11F:推 qscesz1456: 写到後来发现真的keep simple就好 10/22 19:19
12F:→ jej: 对stupid就交给别人了 10/22 19:21
13F:推 MangoTW: 推这篇 没有一样作法可以打全部的 说有的真的是战信仰 10/23 21:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP