java 板


LINE

其实我本来不想回的 [被殴飞] ※ 引述《AnyaAlstreim (Mordred)》之铭言: : 大家好,我是 Java 新手。 : 我在写 Android 专案时遇到一种情况: : 如果有五个按钮,内容分别为以下 : 【 精华公布栏 】 : 【 我 的 最爱 】 : 【 分组讨论区 】 : 【 私人信件区 】 : 【 休闲聊天区 】 : 然後 code 这样写 : Button[] button = new Button [5]; : button[0] = ...; : button[1] = ...; : ... : button[4] = ...; : 这时候会有可读性和易维护性的问题,例如想在最开头加上一个新的按钮 : 【 个人设定区 】 : 那後面的 button 下标就要全部往後移了。 这个算插花外提 其实我不懂为什麽会有这个问题 我不知道 Android 的 Button 有没有什麽特别 我是用 GWT(Swing 应该也差不多)的 Button 来举例 那麽,我会... String[] btnLabel = {"个人设定区", "我的最爱"}; Button[] button = new Button[btnLabel.length]; for (int i = 0; i < btnLabel.length; i++) { button[i] = new Button(btnLabel[i]); } 不考虑 UI / UX 等等三小排版问题 易维护性应该不是问题? 可读性... 先跳过,後头再说 剩下的问题就在於... 什麽时候你会需要知道 button 的 index? 至少在你提出来的这个部份,我看不出来 然後那个可能岔题岔更远了...... : 之後就可以使用 : button[ANNOUNCE] : 来取代 index : 推 cyberwizard:可读性看写法而定 http://goo.gl/KjyhxE 12/06 04:32 : → danny8376:每个button各自有变数名不行吗? 12/06 06:15 : → AnyaAlstreim:楼上,可以。 12/06 10:42 : → AnyaAlstreim:我也没有写 Android 经验,这样写不好吗? 12/06 10:46 : 推 PsMonkey:扯到可读性,基本上就跟平台没关系了 Zzzz 12/06 11:26 : → AnyaAlstreim:楼上..... http://goo.gl/Q7AagW 12/06 12:10 你拿 Linux kernel coding style 出来 其实我有点(根本就)不明所以 主要的原因,底下 danny8376 大人说的差不多了,我就跳过 我回应你的是「没有写 Android 经验」这句 (这再次说明了推文没办法好好讨论 [被殴飞]) 当然,如果你觉得你的问题真的 dependent on Android 那依照版规,我建议你出门左转到 AndroidDev 版 当然,我完全不觉得这个问题不能在 Java 版讨论 就如同我推文说的(然後延伸一下) 单纯论「可读性」这玩意 那跟 Android / Java 甚至 C 一点关系也没有 因为那纯粹是「人」的问题 这样说好了,对电脑 / compiler 而言,有可读性的问题吗? 没有,只有 compile 过不过、以及效率的问题 所以,可读性好不好,是「人」判断的 既然是人判断,除了客观因素(各种 coding style 可称为客观因素) 可能绝大多数都是主观因素 (钱锺书:所有的客观都是伪装巧妙的主观) 你说三元运算好不好读? String message = errorFlag ? "失败" : "成功"; String message; if (errorFlag) { message = "失败"; } else { message = "成功"; } //这个 case 可能大多数人都会选三元运算 //可是临时我懒得想太复杂的例子 [逃] 我以前一直很排斥这玩意 但在被前一家公司的 code 训练(X)摧残(O) 过之後 其实自己也常常忍不住用三元运算 但是我的极限只有一层,可是有些人会写到两层 or 三层 [抖] 另外一个简单的反向例子是命名原则 我现在完全不能接受 camel 以外的方式 像这种 json_decode(); 我会觉得 x 你 o 的,为什麽不能 Json.decode(); //等等这是物件写法吧? 不然这样也爽 jsonDecode(); 但是,对很多人而言,用 _ 代替空格 在视觉上反而比较好读 所以,至少对我个人而言 可读性这种东西都是习惯问题 或许跟语言特性(尤其是提供的 syntax sugar)有关 但是,整体来说,就是看的人爽不爽的问题 这就好像贫乳跟巨乳... (谜之声:你又想决斗了吗? [指]) 说不定你的 partner 在一阵子的视觉强奸之後 也会习惯 Java enum 的写法? (当然还是得强调,我觉得这个问题很好,值得思考 [盖章]) 之前 soft_job 版好像也有讨论过类似的话题 那时候 yoco 大人的回应还有人转到 G+ 上 你也可以参考参考 : → danny8376:原PO 那是大型Project 所以有自己整个的习惯 12/06 12:38 : → danny8376:至於独立变数怎看都和你需求啊... 12/06 12:40 : → danny8376:除非需要foreach所有button 不然用Array本身可读性... 12/06 12:41 -- 钱锺书: 说出来的话 http://www.psmonkey.org 比不上不说出来的话 Java 版 cookcomic 版 只影射着说不出来的话 and more...... --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.115.232.227
1F:推 danny8376:版大出没! 12/06 13:55







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

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

TOP