java 板


LINE

※ 引述《gs1458 (hoi)》之铭言: : 敝人只是个Java新手, : 只会基本的单层Class建立方法来写简单的Java程式, : 为了未来在写更复杂程式的时候能够让程式更清晰容易理解架构, : 所以我希望能够达到如下面JavaScript这样的方式来去写程式, : 或是说Java的撰写方式有什麽方法能够达成类似相同的目的, : 我想达成的目的就如这个JavaScript原始码这样: : http://pastie.org/2843061 : 上面的JavaScript做的是, : 呼叫到codeboxy父类别中的 A城市 的 B学校 的 C班级 的 A学生, : 那麽Java是否也可以如JavaScript这样去呼叫到无限个层级底下的方法, : 请问高手们究竟是如何去办到让程式能够有规则有条理呢? : 希望各位能指引我个方向去学习,谢谢。 传闻中有一种简易判断 bad smell 的方法。 就是当你在阅读一份 code 时,wtf 的频率。 频率高,则 bad smell 程度越严重。 这个例子看起来只是排版好看,看起来有『阶层』结构。 实际上用起来并不好用。 如果找一个学生要那麽长的 method chain 那肯定很想打人。 codeboxy.cityB.schoolB.classC.studentA(); 若进一歩追问该怎麽改,才不会那麽 wtf ? 其实不是很肯定的! 因为不知道程式的『意图』实作的『目的』与潜在『变动区域』 是无法给予进一歩的评论的。 单纯看起来只是描述, 在城市之下有学校,学校之下有班级,班级里有学生。 乍看之下条理分明,但实际上可能相当难用。 就像家人突然心血来潮帮你的房间都整理好了, 但你就是很不爽,连一把剪刀都找不到放哪去了。 在没有一个总览性的结构时, 别的实作者可能不知道,要找一个学生,要由城市开始找起。 即使知道所有的结构,那也只是满足了静态资料关系的需要。 程式是动态的,我要找十个学生就要打十次? codeboxy.cityB.schoolB.classC.studentA(); codeboxy.cityB.schoolB.classC.studentB(); codeboxy.cityB.schoolB.classC.studentC(); .... 若你是使用这些物件的开发者,不每分每秒 wtf 才怪。 有些程式语言的入门书籍,特别是内建 OO 能力的语言。 作者会过份强调『物件』的概念,像是『继承』与『多形』, 但没带入 OO 系统的动态性,仅到封装资料就点到为止了。 造成一些还不熟悉物件导向程式开发的初学者, 误以为物件导向,就是将资料塞进类别内, 多形就是继承一下,再写个方法盖掉原来的功能。 『让我们不必实行复制这种愚蠢的行为』 那多出的那一堆不知所谓的『多形』要怎麽办呢? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.72.110.37
1F:推 chrisho:wtf ... 11/11 12:24
2F:推 PsMonkey:不能偷骂脏话 XD 11/11 12:27
3F:→ MOONRAKER:太厉害了,竟然达到10 wps (wtf per second) 11/11 13:35
4F:推 gs1458:居然连单位都出来了是哪招XD 11/11 16:34
5F:→ MOONRAKER:10 wps太夸张了,20 wpm吧 XD 11/11 16:45
6F:推 gs1458:这样不是更快了吗XDDDD+ 11/11 18:28







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

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

TOP