OOAD 板


LINE

其实 OO 还有一项特性就是 team work 上的便利, 每个 programmer 需要知道什麽不需要知道什麽都能分割得清清楚楚, 加上相关的 design pattern 带来的高应变性, 做得好的话改个规格要玩死你也是有一定难度, 要是规格变得太凶的话改用 XP + refactoring 跟它拼也要不了你的命, 就算是要改 interface 好了, 知道上头或客户老是会动到这边的话就把它再抽象化几层, 一样可以构筑出强大的应变能力来, 至於高度抽象化所造成的混乱说真的在这种环境下是不可避免的, 但是这总比复制贴上修改和乱插一堆 if else switch case 好得多了, 可称得上是诸多乱中有序技法中的王道。 早期 OOAD/OOSE 强调的是预设计, 想说这个做得好的话就能以不变应万变, 这当然是想得太美好而不切实际, 所以才会有新的方法论去描述如何做事後补救, 而这一切其实都还是在 OO 的范畴内施行, 但奇怪的是很多人一旦发现预设计不切实际後就开始提倡 OO 无用论, 真搞不清楚到底是学的人有问题还是教他的人有问题, 会被初学者一句「搞来搞去到最後还不是也要改」给撂倒的恐怕应该先充实自己再教人, 遗憾的是长年以来号称是 OO 专家却被这句话一击毙命的大有人在, 反而给了初学者击败权威自以为学的东西够了不用再进步了的错觉和偏执。 不能理解为什麽要有这有那的一般都是以「整个程式都是自己一个人写」为前提在考虑, 把他们拖出这个小框框其实也是帮助他们进步的一个契机, 多让他们考虑写程式的时候如何为同事着想以及增加合作的效率, 大部分的初学者接受度还是不错的, 至少可以给他们一个为什麽要学为什麽要用的理由, 没有动机的话你强灌他们再多知识都没有用, programmer 一向被套上一个自私自利不为人着想的成见并非空穴来风, 先让这些初学者在起点就摆脱这个魔咒才是最重要的事。 其实所有程式里难度最高最抽象的工作的就是设计 library, 因为这需要丰富的程式经验来规划 interface, 没有经过相当历练的人设计出来的 interface 总是自己觉得爽就好, 没想到就先不做有想到再加就好, 自己方便就行别人不方便管他去死, 任何初学者觉得没用的技术诸如 OO 概念甚至 C++ template metaprogramming, 一进入了 library 设计的范畴内马上就变得不可或缺, 原本不知道那些概念和技术是干什麽用的只要一踏入这个领域马上就会豁然开朗, 想进这领域的基本上除了经验要老以外技术水准也要够, 不然设计出来的 library 很容易被人家说跟垃圾一样, 一般来说技术层次高的 programmer 讲话都不会太客气, 偏偏 library 的 user 就是 programmer 所以批评几乎都很毒, 经得起刺激的被呛个几十次几百次就会变得超强了, 这跟写 AP 被 end-user 讲不好用手感不顺功能太少的意义差很多。 有些人总是说用 OO 概念写程式很花时间, 但我认为这是他们不熟如何写出 OO 程式所造成的, 惯於撰写 OO 程式的人随便照直觉写都可以写得很 OO, 就像有经验的 C programmer 常跳过流程图就能写出结构完善的程式一样, 老练的 OO programmer 照样可以跳过 OOAD 直接写出一定水准的 OO 程式, 熟到这个地步的走 XP 这条路也已经没什麽障碍了, 讲明白点就是有没有本事照直觉乱写都能写得很漂亮罢了, 而这种本事是可以靠时间和努力去训练出来的。 题外话, 对於不知道为什麽需要 OO 的, 我都是建议他以多为别人着想为出发点去思考, 而不是直接跟他说 OO 能做这个做那个带来什麽好处, 藉此我不但可以观察出这人的资质也能观察出他一部份的人格, 虽然不能单就这方面就武断的说一个人是否有资质或人格如何, 但总是可以做为参考之一, 所谓的综合评价就是从各种零零星星的观察和试探得来的, 对於寻觅人才或决定重大工作该交给谁时还是有一定的帮助。 -- Ling-hua Tseng ([email protected]) Department of Computer Science, National Tsing-Hua University Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://www.tinlans.org --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.109.251 ※ 编辑: tinlans 来自: 118.160.109.251 (08/02 05:11)
1F:→ world9918 :我自己是学MFC Java时体会到用别人写好的class 08/02 19:58
2F:→ world9918 :是多爽的一件事啊XD.... 08/02 19:59
3F:推 PsMonkey :爽+1 XD 08/04 15:10
4F:推 frank99977 :爽++..XD 08/14 05:22
5F:推 ast9869 :push 08/30 13:32







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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP